2021년 6월 8일부터 이러한 엔드포인트에 대한 액세스가 제한됩니다. 액세스 권한이 없는 앱에는 오류가 발생합니다.
비즈니스 관리자는 다른 비즈니스 관리자가 소유한 광고 계정이나 페이지에 대한 액세스 권한을 요청할 수 있습니다. 요청에는 할당하고자 하는 작업을 지정해야 합니다.
페이지에 비즈니스를 할당하려면 페이지 토큰이 필요합니다. 예를 들면 다음과 같습니다.
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
요청을 보내고 access_status
필드가 PENDING
인지 확인하세요.
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 }
페이지 관리자는 facebook.com의 페이지 설정에 있는 Manage Admin Roles
탭에서도 에이전시 액세스 요청을 수락할 수 있습니다.
비즈니스에서 에이전시를 제거하기라고도 합니다. 광고 계정에서 비즈니스 관리자의 액세스 권한을 삭제하려면 다음을 참고하세요.
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" } ] }