Tài liệu này hướng dẫn bạn cách thực hiện các tác vụ sau trên Trang Facebook:
Hướng dẫn này giả định rằng bạn đã đọc phần Tổng quan về API Trang.
Đối với người dùng có thể thực hiện các tác vụ trên trang, bạn sẽ cần triển khai phương thức Đăng nhập bằng Facebook để yêu cầu những quyền sau đây và nhận mã truy cập Trang hoặc mã truy cập dành cho Người dùng:
pages_manage_engagement
pages_manage_metadata
pages_manage_posts
pages_read_engagement
pages_read_user_engagement
pages_show_list
publish_video
, nếu bạn đăng video lên TrangBạn cần có quyền business_management
để sử dụng người dùng hệ thống của doanh nghiệp trong yêu cầu API.
Người dùng ứng dụng của bạn phải có khả năng thực hiện các tác vụ CREATE_CONTENT
, MANAGE
và/hoặc MODERATE
trên Trang trong yêu cầu API.
Khi thử nghiệm một lệnh gọi API, bạn có thể thêm thông số access_token
và đặt thông số này là mã truy cập của mình. Tuy nhiên, khi thực hiện lệnh gọi bảo mật từ ứng dụng của bạn, hãy sử dụng lớp mã truy cập.
Một lệnh gọi API có thể cung cấp nhiều thông tin về những Trang mà bạn có thể thực hiện một tác vụ.
Để lấy danh sách tất cả Trang mà bạn có thể thực hiện tác vụ, các tác vụ bạn có thể thực hiện trên mỗi trang và mã truy cập Trang ngắn hạn cho mỗi Trang, hãy gửi yêu cầu GET
đến điểm cuối /user_id/accounts
bằng cách sử dụng mã truy cập dành cho Người dùng.
curl -i -X GET "https://graph.facebook.com/user_id/accounts"
Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON chứa một mảng đối tượng Trang. Mỗi đối tượng Trang chứa:
{ "data": [ { "access_token": "{facebook-for-developers-page-access-token}", "category": "Internet Company", "category_list": [ { "id": "2256", "name": "Internet Company" } ], "name": "Facebook for Developers", "id": "{facebook-for-developers-page-id}", "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT" ] }, { "access_token": "{my-outlandish-stories-page-access-token}", "category": "Blogger", "category_list": [ { "id": "361282040719868", "name": "Blogger" } ], "name": "My Outlandish Stories", "id": "{my-outlandish-stories-page-id}", "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] }, ... ] }
Nếu có thể thực hiện tác vụ MANAGE
trên Trang, bạn sẽ lấy được danh sách những người khác có thể thực hiện tác vụ trên Trang đó, bao gồm cả những tác vụ mà từng người có thể thực hiện.
Để lấy danh sách những người này và tác vụ mà họ có thể thực hiện trên Trang, hãy gửi yêu cầu GET
đến điểm cuối /page_id/roles
.
curl -i -X GET "https://graph.facebook.com/page_id/roles"
Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON chứa tên người dùng, ID người dùng trong Trang của họ và tác vụ mà từng người có thể thực hiện trên Trang.
{ "data": [ { "name": "Person One", "id": "page_scoped_id_for_one" "tasks": [ "ANALYZE" ] }, { "name": "Person Two", "id": "page_scoped_id_for_two", "tasks": [ "ANALYZE", "ADVERTISE", "MODERATE", "CREATE_CONTENT", "MANAGE" ] }, ... ], }
Nếu có thể thực hiện tác vụ MANAGE
trên Trang, bạn có thể sử dụng mã truy cập Trang hoặc nếu ứng dụng đã được phê duyệt tính năng Quyền truy cập nội dung công khai trên Trang, bạn có thể sử dụng mã truy cập dành cho Người dùng để xem thông tin chi tiết của Trang, chẳng hạn như giới thiệu, email, giờ làm việc, v.v.
Để lấy thông tin chi tiết về Trang, hãy gửi yêu cầu GET
đến điểm cuối /page_id
với thông số fields
được đặt thành thông tin chi tiết Trang mà bạn muốn xem.
Lưu ý: Bạn có thể sử dụng điểm cuối /pages/search
để tìm ID Trang khi sử dụng tính năng Quyền truy cập nội dung công khai trên Trang.
curl -i -X GET "https://graph.facebook.com/page_id \ ?fields=about,attire,bio,location,parking,hours,emails,website"
Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON chứa giá trị dành cho các trường mà bạn yêu cầu. Nếu phản hồi không trả về trường nào thì tức là Trang chưa đặt giá trị này. Ví dụ: nếu Trang chưa đặt trường attire
, phản hồi sẽ không trả về trường này.
Nếu có thể thực hiện tác vụ MANAGE
trên Trang, bạn có thể sử dụng mã truy cập Trang để gửi yêu cầu POST
đến điểm cuối /page_id
kèm theo thông số mà bạn muốn cập nhật, chẳng hạn như thông số about
.
curl -i -X POST "https://graph.facebook.com/v21.0
/page_id" \
-H "Content-Type: application/json" \
-d '{
"about":"This is an awesome cafe located downtown!",
}'
Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON với success
được đặt là true
.
Đôi khi, Meta sẽ đề xuất các thay đổi đối với thông tin chi tiết của Trang, chẳng hạn như sửa lỗi đánh máy hoặc cập nhật các hạng mục trên Trang để giúp mọi người tìm Trang của bạn hiệu quả hơn. Để nhận các thông báo này, bạn phải đăng ký webhook page_upcoming_change
và/hoặc page_change_proposal
.
Sau khi nhận thông báo, bạn có thể thực hiện một trong những điều sau:
Để chủ động chấp nhận hoặc từ chối thay đổi được đề xuất, hãy gửi yêu cầu POST
đến điểm cuối /page_change_proposal_id
với trường accept
được đặt là true
để chấp nhận thay đổi hoặc false
để từ chối thay đổi. page_change_proposal_id
là giá trị proposal.id
bạn nhận được trong thông báo webhook page_upcoming_change
hoặc giá trị value.id
bạn nhận được trong thông báo webhook page_change_proposal
.
curl -i -X POST "https://graph.facebook.com/v21.0
/page_change_proposal_id" \
-H "Content-Type: application/json" \
-d '{
"accept":"true",
}'
Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON với success
được đặt là true
.
Nếu có thể thực hiện tác vụ MANAGE
trên Trang, bạn có thể sử dụng mã truy cập Trang để gửi yêu cầu GET
đến điểm cuối /page_id/settings
nhằm lấy danh sách tất cả cài đặt của Trang đó.
curl -i -X GET "https://graph.facebook.com/v21.0
/page_id/settings"
Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON chứa một mảng đối tượng. Mỗi đối tượng là setting
được đặt thành cài đặt Trang và giá trị true
hoặc false
.
{ "data": [ { "setting": "USERS_CAN_POST", "value": false }, { "setting": "USERS_CAN_MESSAGE", "value": true }, { "setting": "USERS_CAN_POST_PHOTOS", "value": true }, ... ] }
Để cập nhật cài đặt của Trang, hãy gửi yêu cầu POST
đến điểm cuối /page_id/settings
với thông số option
được đặt thành cài đặt mà bạn muốn cập nhật.
curl -i -X POST "https://graph.facebook.com/v21.0
/page_id/settings" \
-H "Content-Type: application/json" \
-d '{
"option":{"USERS_CAN_MESSAGE": "true"},
}'
Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON với success
được đặt là true
.
Bạn có thể lấy đánh giá cho Trang, bao gồm cả tên người đánh giá, ID người dùng trong Trang của họ, dù đó là đề xuất tích cực hay tiêu cực và văn bản đánh giá, hãy gửi yêu cầu GET
đến điểm cuối /page_id/ratings
.
curl -i -X GET "https://graph.facebook.com/page_id/ratings"
Khi thành công, ứng dụng của bạn sẽ nhận được một mảng JSON chứa các đối tượng đánh giá. Mỗi đối tượng chứa:
created_time
được đặt thành thời gian tạo đánh giá, recommendation_type
được đặt là positive
hoặc negative
review_text
được đặt thành nội dung đánh giáreviewer
cùng với name
và id
của người đã viết đánh giá đó{ "data": [ { "created_time": "unixtimestamp", "recommendation_type": "positive", "review_text": "I love this page!", "reviewer": { "name": "Person One", "id": "psid_for_one" } }, { "created_time": "unixtimestamp", "recommendation_type": "positive", "review_text": "This page is wonderful!", "reviewer": { "name": "Person Two", "id": "psid_for_two" } }, ... ] }
Để chặn một người bình luận trên Trang, hãy gửi yêu cầu POST
đến điểm cuối /page_id/blocked
với thông số user
được đặt thành ID người dùng trong Trang của người bạn muốn chặn.
curl -i -X POST "https://graph.facebook.com/v21.0
/page_id/blocked"
-H "Content-Type: application/json" \
-d '{
"user":"psid_to_block",
}'
Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi JSON với ID người dùng trong trang được đặt là true
.
{ "psid_to_block": true }
Tìm hiểu cách đăng liên kết, ảnh và video lên Trang của bạn.