Dữ liệu mạng xã hội đã trở thành một nguồn tài nguyên vô giá cho các nghiên cứu xã hội học, hành vi người dùng và phân tích thị trường. Bên cạnh các nguồn dữ liệu truyền thống, việc thu thập thông tin từ Facebook luôn là mục tiêu quan trọng của các nhà nghiên cứu dữ liệu. Để hỗ trợ quá trình này, công cụ facebook2stata được phát triển nhằm giúp người dùng kết nối trực tiếp Stata với hệ thống dữ liệu của Facebook. Bài viết này sẽ hướng dẫn chi tiết cách cài đặt, cấu hình mã xác thực và thực hiện các truy vấn cơ bản từ Facebook vào môi trường làm việc của Stata.
Cài đặt công cụ facebook2stata
Để bắt đầu, bạn cần cài đặt gói lệnh facebook2stata từ máy chủ của Stata. Việc cài đặt vô cùng đơn giản bằng cách khởi chạy dòng lệnh sau trong cửa sổ dòng lệnh của phần mềm.
1net install https://www.stata.com/users/kcrow/facebook2stata, replaceSau khi cài đặt thành công, hệ thống sẽ tích hợp các lệnh truy vấn dữ liệu theo nhiều đối tượng khác nhau như nhóm, trang, địa điểm hay người dùng.
Thiết lập tài khoản và tạo ứng dụng trên Facebook
Để lệnh facebook2stata hoạt động, bạn phải thiết lập một ứng dụng dành cho nhà phát triển trên Facebook nhằm lấy các mã xác thực cần thiết. Đây là yêu cầu bắt buộc nhằm đảm bảo tính bảo mật và tuân thủ đúng chính sách của nhà cung cấp dịch vụ.
Bước 1: Khởi tạo ứng dụng mới
Đầu tiên, bạn đăng nhập vào tài khoản Facebook cá nhân và truy cập trang dành cho nhà phát triển của Facebook. Tại giao diện chính, bạn tìm và nhấn vào nút tạo ứng dụng mới.

Bước 2: Đặt tên và khai báo thông tin ứng dụng
Tiếp theo, bạn tiến hành đặt tên cho ứng dụng mới tạo và cung cấp địa chỉ thư điện tử liên hệ để hệ thống gửi các thông báo quan trọng về bảo mật cũng như cập nhật kỹ thuật.

Bước 3: Lấy thông tin định danh ứng dụng
Sau khi ứng dụng được tạo thành công, hệ thống sẽ cung cấp cho bạn một chuỗi App ID và App Secret. Hãy sao chép hai chuỗi ký tự này và lưu vào một tệp lệnh do-file để sử dụng cho các bước cấu hình sau này.

Bước 4: Tạo và gia hạn mã thông báo truy cập
Để truy cập sâu hơn vào các dữ liệu công khai, bạn cần di chuyển đến trình đơn công cụ và hỗ trợ, sau đó chọn công cụ mã thông báo truy cập. Tại đây, hãy nhấp vào liên kết yêu cầu cấp quyền để hệ thống tạo ra chuỗi User Token dành riêng cho tài khoản của bạn.

Mã User Token mặc định ban đầu là mã ngắn hạn và chỉ có hiệu lực trong vài ngày. Để kéo dài thời gian sử dụng lên sáu mươi ngày, bạn có thể nhấp vào nút gỡ lỗi và chọn tính năng gia hạn mã thông báo truy cập.
Cấu hình quyền truy cập và thực thi lệnh trong Stata
Khi đã có đủ ba thông tin quan trọng bao gồm App ID, App Secret và User Token, bạn cần tiến hành khai báo các thông tin này trong Stata trước khi thực hiện bất kỳ truy vấn nào. Nếu thiếu bước này, hệ thống sẽ báo lỗi và không thể kết nối tới máy chủ của Facebook.
Hãy khai báo các thông tin này dưới dạng các biến cục bộ trong tệp lệnh do-file để tăng tính bảo mật và dễ quản lý.
1local user_token "74741598400768-3hAYpZbiDvABPizx5lk57B8CTVyfa"
2local app_secret "7D25oVzWeDCHrUlQcp9929@GOcnqWCuUKhDel"
3local app_id "xWNlx*N9vESv0ZZBtGdm7fVB"Tiếp theo, bạn chạy lệnh thiết lập quyền truy cập bằng cách truyền các biến cục bộ vừa tạo vào lệnh facebook2stata setaccess.
1facebook2stata setaccess "`user_token'" "`app_id'" "`app_secret'"Nếu bạn cố tình thực hiện lệnh truy vấn dữ liệu mà không chạy lệnh thiết lập ở trên, phần mềm sẽ trả về thông báo lỗi yêu cầu bạn phải cấu hình đầy đủ thông tin xác thực như dưới đây.
1. facebook2stata searchgroups "star wars", count(10)
2user token, app id, or app secret not set.
3 Run
4facebook2stata setaccess
5to set your user token, app id, and app secret.
6r(198);Thực hiện truy vấn dữ liệu thực tế
Khi cấu hình thành công, bạn có thể sử dụng các lệnh tìm kiếm chuyên biệt để thu thập dữ liệu về máy. Ví dụ dưới đây hướng dẫn cách tìm kiếm mười nhóm trên Facebook có chứa từ khóa liên quan đến bộ phim Chiến tranh giữa các vì sao.
1local user_token "74741598400768-3hAYpZbiDvABPizx5lk57B8CTVyfa"
2local app_secret "7D25oVzWeDCHrUlQcp9929@GOcnqWCuUKhDel"
3local app_id "xWNlx*N9vESv0ZZBtGdm7fVB"
4facebook2stata setaccess "`user_token'" "`app_id'" "`app_secret'"
5facebook2stata searchgroups "star wars", count(10)
6list group_name group_owner_nameKhi chạy toàn bộ đoạn mã này, Stata sẽ tự động gửi yêu cầu đến Graph API của Facebook, tải dữ liệu về cấu trúc bảng và hiển thị kết quả trực tiếp trên màn hình làm việc của bạn.

Kết quả trả về sẽ là danh sách các nhóm kèm theo tên của người sở hữu nhóm, giúp bạn dễ dàng lưu trữ dưới dạng tệp dữ liệu của Stata để phục vụ cho các phân tích sâu hơn.
Các hạn chế về chính sách bảo mật dữ liệu của Facebook
Khác với một số nền tảng mạng xã hội khác vốn cởi mở hơn trong việc chia sẻ dữ liệu công khai, Facebook áp dụng các biện pháp bảo mật vô cùng nghiêm ngặt. Rào cản lớn nhất khi khai thác dữ liệu từ nền tảng này là quyền riêng tư của cá nhân. Để truy cập dữ liệu của một người dùng cụ thể, tài khoản của họ bắt buộc phải cấp quyền trực tiếp cho ứng dụng do bạn tạo ra.
Ngược lại, các thực thể công cộng như sự kiện, nhóm công khai, địa điểm hay trang thông tin thường ít bị giới hạn hơn và dễ tiếp cận hơn thông qua các lệnh tìm kiếm tương ứng như searchevents hay searchplaces. Ngoài ra, Graph API cũng áp dụng định mức giới hạn số lần gửi yêu cầu trong một khoảng thời gian nhất định nhằm tránh tình trạng quá tải hệ thống.
✨ Giá trị đắt giá
Mặc dù các chính sách bảo mật của Facebook liên tục thay đổi làm hạn chế khả năng thu thập dữ liệu trực tiếp, việc hiểu rõ quy trình kết nối API thông qua Stata vẫn là một kỹ năng cực kỳ quan trọng đối với các nhà khoa học dữ liệu. Phương pháp thiết lập các biến cục bộ để lưu trữ mã xác thực và cách thức xử lý phản hồi từ máy chủ giúp bạn dễ dàng tiếp cận các nền tảng dữ liệu hiện đại khác có cấu trúc tương tự.
Câu hỏi tư duy hoặc bài tập ứng dụng
Hãy thử thiết lập một ứng dụng thử nghiệm trên Facebook và viết một đoạn mã lệnh trong Stata để tìm kiếm các địa điểm công cộng có liên quan đến một từ khóa du lịch tại địa phương của bạn. Từ kết quả thu được, hãy phân tích xem những trường thông tin nào được hiển thị đầy đủ và trường thông tin nào bị ẩn do chính sách bảo mật.


