本文件介紹如何對 Facebook 粉絲專頁執行以下工作:
本指南假設您已閱讀粉絲專頁 API 總覽。
針對能夠在粉絲專頁上執行任務的用戶,您需要實作「Facebook 登入」來要求下列權限及接收用戶或粉絲專頁存取權杖:
pages_manage_engagement
pages_manage_metadata
pages_manage_posts
pages_read_engagement
pages_read_user_engagement
pages_show_list
publish_video
權限(若要發佈影片至粉絲專頁)如果在 API 要求中使用企業系統用戶,則需要 business_management
權限。
應用程式用戶必須能夠在 API 要求中的粉絲專頁上執行 CREATE_CONTENT
、MANAGE
和/或 MODERATE
任務。
測試 API 呼叫時,可以將 access_token
參數組合包含在存取權杖中。不過,從應用程式進行安全呼叫時,請使用存取權杖類別。
單一 API 呼叫可針對您可以執行任務的粉絲專頁提供大量資訊。
若要取得您可以執行任務的所有粉絲專頁清單、您可以在各粉絲專頁上執行的任務,以及各粉絲專頁的短期粉絲專頁存取權杖,請使用用戶存取權杖,傳送 GET
要求至 /user_id/accounts
端點。
curl -i -X GET "https://graph.facebook.com/user_id/accounts"
成功後,應用程式會收到包含粉絲專頁物件陣列的 JSON 回應。每個粉絲專頁物件皆包含:
{ "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" ] }, ... ] }
如果您可以在粉絲專頁上執行 MANAGE
任務,則可以取得可在該粉絲專頁上執行任務的其他用戶清單,包括每個用戶可執行的任務。
若要取得用戶清單及其可在粉絲專頁上執行的任務,請傳送 GET
要求至 /page_id/roles
端點。
curl -i -X GET "https://graph.facebook.com/page_id/roles"
成功後,應用程式會收到 JSON 回應,其中包含用戶名稱、粉絲專頁範圍編號,以及每個用戶可在粉絲專頁上執行的任務。
{ "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" ] }, ... ], }
如果您可以在粉絲專頁上執行 MANAGE
任務,則可使用粉絲專頁存取權杖,或者如果應用程式已獲准使用「粉絲專頁公開內容存取權限」功能,則可使用用戶存取權杖來查看粉絲專頁的詳細資訊,例如關於、電子郵件、營業時間等等。
若要取得粉絲專頁的相關詳細資訊,請傳送 GET
要求至 /page_id
端點,並將 fields
參數設為您要查看的粉絲專頁詳細資訊。
注意:使用「粉絲專頁公開內容存取權限」功能時,您可以使用 /pages/search
端點來尋找粉絲專頁編號。
curl -i -X GET "https://graph.facebook.com/page_id \ ?fields=about,attire,bio,location,parking,hours,emails,website"
成功後,應用程式會收到 JSON 回應和您要求的欄位值。如果回應中未傳回欄位,表示粉絲專頁未設定此值。例如,如果粉絲專頁未設定 attire
欄位,則不會在回應中傳回此欄位。
如果您可以在粉絲專頁上執行 MANAGE
任務,則可使用粉絲專頁存取權杖來傳送 POST
要求至 /page_id
端點,並設定您要更新的參數,例如 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!",
}'
成功後,應用程式會收到 JSON 回應,其中 success
設定為 true
。
有時候,Meta 會針對您的粉絲專頁詳細資訊提議變更,例如修正錯字,或更新粉絲專頁上的類別,讓用戶更容易找到您的粉絲專頁。若要取得這些通知,您必須訂閱 page_upcoming_change
和/或 page_change_proposal
Webhook。
收到通知後,您可以執行下列任一項操作:
若要主動接受或拒絕提議的變更,請傳送 POST
要求至 /page_change_proposal_id
端點,並將 accept
欄位設為 true
以接受變更,或設為 false
以拒絕變更。page_change_proposal_id
是您在 page_upcoming_change
Webhook 通知中收到的 proposal.id
值,或您在 page_change_proposal
Webhook通知中收到的 value.id
值。
curl -i -X POST "https://graph.facebook.com/v21.0
/page_change_proposal_id" \
-H "Content-Type: application/json" \
-d '{
"accept":"true",
}'
成功後,應用程式會收到 JSON 回應,其中 success
設定為 true
。
如果您可以在粉絲專頁上執行 MANAGE
任務,則可使用粉絲專頁存取權杖來傳送 GET
要求至 /page_id/settings
端點,以取得該粉絲專頁的所有設定清單。
curl -i -X GET "https://graph.facebook.com/v21.0
/page_id/settings"
成功後,應用程式會收到包含物件陣列的 JSON 回應,其中每個物件都是設為某個粉絲專頁設定的 setting
以及 true
或 false
值。
{ "data": [ { "setting": "USERS_CAN_POST", "value": false }, { "setting": "USERS_CAN_MESSAGE", "value": true }, { "setting": "USERS_CAN_POST_PHOTOS", "value": true }, ... ] }
若要更新粉絲專頁的設定,請傳送 POST
要求至 /page_id/settings
端點,並將 option
參數設為您想要更新的設定。
curl -i -X POST "https://graph.facebook.com/v21.0
/page_id/settings" \
-H "Content-Type: application/json" \
-d '{
"option":{"USERS_CAN_MESSAGE": "true"},
}'
成功後,應用程式會收到 JSON 回應,其中 success
設定為 true
。
您可以取得粉絲專頁的評論,包括評論者的名稱、其粉絲專頁範圍編號、是正面或負面評價,以及評論文字,請傳送 GET
要求至 /page_id/ratings
端點。
curl -i -X GET "https://graph.facebook.com/page_id/ratings"
成功後,應用程式會收到包含評論物件的 JSON 陣列。每個物件皆包含:
created_time
,設為評論建立的時間 recommendation_type
,設為 positive
或 negative
review_text
,設為評論的內容reviewer
物件,包含撰寫該評論之用戶的 name
和 id
{ "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" } }, ... ] }
若要封鎖某個用戶對粉絲專頁發表評論,請傳送 POST
要求至 /page_id/blocked
端點,並將 user
參數設為您要封鎖之用戶的粉絲專頁範圍編號。
curl -i -X POST "https://graph.facebook.com/v21.0
/page_id/blocked"
-H "Content-Type: application/json" \
-d '{
"user":"psid_to_block",
}'
成功後,應用程式會收到 JSON 回應,其中粉絲專頁範圍編號設為 true
。
{ "psid_to_block": true }
瞭解如何在粉絲專頁上發佈連結、相片和影片。