ตั้งแต่วันที่ 8 มิถุนายน 2021 ระบบจะจำกัดสิทธิ์การเข้าถึงตำแหน่งข้อมูลเหล่านี้ แอพที่ไม่มีสิทธิ์การเข้าถึงจะได้รับข้อผิดพลาด
ตัวจัดการธุรกิจอาจส่งคำขอรับสิทธิ์การเข้าถึงบัญชีโฆษณาหรือเพจที่ตัวจัดการธุรกิจอื่นเป็นเจ้าของ โดยจะต้องระบุงานที่ต้องการกำหนดมาในคำขอ
การกำหนดธุรกิจให้กับเพจต้องใช้โทเค็นเพจ ตัวอย่างเช่น
curl -F "business=<BUSINESS_ID>" -F "permitted_tasks=['MODERATE', 'ADVERTISE', 'ANALYZE']" "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
หากต้องการขอสิทธิ์การเข้าถึง AGENCY
คุณต้องระบุ permitted_tasks
ในคำขอของตนเอง คุณสามารถส่งคำขอถึงองค์ประกอบไปยังตัวจัดการธุรกิจที่ตนเองตั้งใจจะอนุมัติเท่านั้น และตัวจัดการธุรกิจดังกล่าวต้องรู้จักธุรกิจของคุณอยู่แล้ว
ตัวอย่างเช่น ธุรกิจที่ต้องการสิทธิ์เข้าถึง adaccount_id
และจำเป็นต้องกำหนดพนักงานของตนเป็น ['ADVERTISE', 'ANALYZE']
ได้จะทำการเรียกใช้ POST
นี้:
curl \ -F "adaccount_id=act_<AD_ACCOUNT_ID>" \ -F "permitted_tasks=['ADVERTISE','ANALYZE']" \ "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/client_ad_accounts?access_token=<ACCESS_TOKEN>"
เช่นเดียวกันสำหรับเพจ หากคุณต้องการกำหนดงาน ['ADVERTISE', 'ANALYZE']
ให้กับเพจที่ใครบางคนไม่ได้เป็นเจ้าของ:
curl \ -F "page_id=<PAGE_ID>" \ -F "permitted_tasks=['ADVERTISE','ANALYZE']" \ "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/client_pages?access_token=<ACCESS_TOKEN>"
การเรียกใช้เหล่านี้จะส่งการแจ้งเตือนไปยังผู้ดูแลบัญชีโฆษณาหรือเพจที่เกี่ยวข้อง ซึ่งขอให้ยอมรับคำขอสิทธิ์การเข้าถึง ผู้ดูแลที่เกี่ยวข้องจะเห็นการแจ้งเตือนในตัวจัดการโฆษณาหรือตัวจัดการเพจ อีกทั้งยังสามารถยอมรับคำขอในอินเทอร์เฟซผู้ใช้ได้ หากคุณต้องการดูคำขอที่รอดำเนินการอยู่ผ่าน API ให้ส่งคำขอ GET
และตรวจสอบ PENDING
ของช่อง access_status
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"
การตอบกลับ:
"data": [ { "name": "Random Page", "page_permissions": [ { "id": "1900952844321", "permitted_tasks": [ 'MANAGE', 'CREATE_CONTENT', 'MODERATE', 'ADVERTISE', 'ANALYZE', ], "access_status": "CLIENT_RESPONSE_PENDING", "access_requested_time": "2014-01-07T23:26:09+0000", "access_updated_time": "2014-01-07T23:26:09+0000" } ], "id": "190137931178903" },
การดำเนินการนี้เรียกอีกอย่างว่าการเพิ่มเอเจนซี่ไปยังอ็อบเจ็กต์ของคุณ
คุณต้องระบุธุรกิจและลิสต์งานที่ตัวจัดการธุรกิจควรได้รับสิทธิ์เข้าถึง หากต้องการยอมรับคำขอรับสิทธิ์การเข้าถึงอ็อบเจ็กต์ที่คุณเป็นเจ้าของจากตัวจัดการธุรกิจอีกราย หรือเพื่อให้สิทธิ์การเข้าถึงอ็อบเจ็กต์รายการใดรายการหนึ่งที่คุณเป็นเจ้าของแก่ตัวจัดการธุรกิจอีกราย
หากโทเค็นการเข้าถึงที่ใช้ในการเรียกใช้ API เป็นของผู้ใช้หรือของผู้ใช้ระบบที่มีสิทธิ์การเข้าถึงองค์ประกอบที่ร้องขอผ่านธุรกิจ ระบบจะมอบสิทธิ์การเข้าถึงองค์ประกอบนั้นก็ต่อเมื่อธุรกิจนี้เป็น OWNER
ขององค์ประกอบ คุณไม่สามารถมอบสิทธิ์การเข้าถึงองค์ประกอบที่ตนเป็นเพียง AGENCY
ได้
ตัวอย่างเช่น หากต้องการให้สิทธิ์การเข้าถึงบัญชีโฆษณาแก่ผู้อื่นโดยใช้ [
ADVERTISE,
ANALYZE]
ให้ใช้คำขอ POST
นี้:
curl \ -F "business=<BUSINESS_ID>" \ -F "permitted_tasks=['ADVERTISE', 'ANALYZE']" \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"
หากต้องการให้สิทธิ์การเข้าถึงเพจของตนเองแก่ธุรกิจด้วย [ADVERTISE]
, [MODERATE]
และ [ANALYZE]
:
curl \ -F "business=<BUSINESS_ID>" \ -F "permitted_tasks=['MODERATE', 'ADVERTISE', 'ANALYZE']" \ "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
เมื่อมีการมอบสิทธิ์การเข้าถึงบัญชีโฆษณา จำเป็นต้องมีการตรวจสอบจากผู้ดูแลธุรกิจรายอื่นในบางครั้งเนื่องจากเป็นมาตรการรักษาความปลอดภัย โดยสามารถอนุมัติการตรวจสอบนี้ได้เมื่อเข้าไปที่ https://business.facebook.com/settings/requests/admin_reviews ในกรณีนี้ จะมีช่องเพิ่มเติมในการตอบกลับที่ระบุว่าจำเป็นต้องตรวจสอบ
{ "success": true, "requires_admin_approval": true }
ผู้ดูแลเพจยังสามารถยอมรับคำขอรับสิทธิ์การเข้าถึงจากเอเจนซี่ได้ในแท็บ Manage Admin Roles
ในการตั้งค่าเพจบน facebook.com
การดำเนินการนี้เรียกอีกอย่างว่าการลบเอเจนซี่ออกจากธุรกิจของคุณ หากต้องการลบสิทธิ์การเข้าถึงของตัวจัดการธุรกิจออกจากบัญชีโฆษณาของคุณ:
curl \ -X DELETE \ -F "business=<BUSINESS_ID>" \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"
ในทำนองเดียวกัน หากต้องการลบสิทธิ์การเข้าถึงของธุรกิจออกจากเพจของคุณ:
curl \ -X DELETE \ -F "business=<BUSINESS_ID>" \ "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
หากต้องการดูธุรกิจทั้งหมดที่มีสิทธิ์การเข้าถึงบัญชีโฆษณาของคุณโดยมีการเรียกใช้ GET
:
curl "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"
หากต้องการดูธุรกิจทั้งหมดที่มีสิทธิ์การเข้าถึงเพจของคุณ:
curl "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
หากต้องการดูธุรกิจทั้งหมดที่มีสิทธิ์การเข้าถึงองค์ประกอบทางธุรกิจของคุณ:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/agencies?access_token=<ACCESS_TOKEN>"
หากต้องการดูธุรกิจทั้งหมดที่มอบสิทธิ์การเข้าถึงบัญชีโฆษณาหรือเพจตั้งแต่หนึ่งรายการขึ้นไปแก่คุณ ให้ใช้การเรียกใช้ GET
นี้:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"
These APIs allow you to manage the relationship between your Ad Accounts and the businesses for which you are acting on behalf of (OBO). Creating these relationships allows you to access custom audiences for the business and use of the audience overlap tool.
To view the details of an OBO request, make this GET
request:
curl -G \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<OBO_REQUEST_ID>?fields=id,receiving_business,requesting_business,status,business_owned_object"
The response contains the details of the OBO request and looks like this:
{ "id": "1111111111", "receiving_business": { "id": "2222222222", "name": "Example Business Name" }, "requesting_business": { "id": "3333333333", "name": "Example Business Name" }, "status": "IN_PROGRESS", "business_owned_object": "1111111111" }
To cancel a pending request to act OBO another business, make this DELETE
request:
curl \ -X DELETE \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<OBO_REQUEST_ID>"
The response, indicating success or failure, looks like this:
{ "success": "true" }
To view the status of requests to act OBO another business for an Ad account, make this GET
request:
curl -G \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/onbehalf_requests? fields=id,status,receiving_business,requesting_business&status=<STATUS>"
The status
parameter in the request must be APPROVE
, DECLINE
, or IN_PROGRESS
.
The response contains an array with the OBO request objects for an Ad account matching the requested status.
Example response:
{ "data": [ { "id": "1111111111", "status": "IN_PROGRESS", "receiving_business": { "id": "2222222222", "name": "Example Business Name" }, "requesting_business": { "id": "3333333333", "name": "Example Business Name" } } ] }
To view requests of IN_PROGRESS
OBO requests sent to your business, make this GET
request:
curl -G \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/received_inprogress_onbehalf_requests"
The response contains the IN_PROGRESS
OBO request IDs and looks like this:
{ "data": [ { "id": "1111111111" }, { "id": "2222222222" }, { "id": "3333333333" } ] }
To view OBO requests that were sent by your business that are still in the IN_PROGRESS
state, make this GET
request:
curl -G \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/sent_inprogress_onbehalf_requests"
The response contains the IN_PROGRESS
OBO request IDs and looks like this:
{ "data": [ { "id": "1111111111" }, { "id": "2222222222" }, { "id": "3333333333" } ] }