I am currently trying to create an ad account using fb’s api. After checking out their documentation I ended up with this source. Here it states that we can make a call to
/{business_id}/adaccount
given the appropriate body to create an ad account, and therefore I went to give it a try.
On my test, I tried sending a POST request to that endpoint:
POST {FB_API_PATH}/{business_id}/adaccount?access_token={FB_ACCESS_TOKEN}
BODY
{
"name": "Test",
"currency": "USD",
"timezone_id": 1,
"end_advertiser": "{FB_APP_ID}",
"media_agency": "{FB_AGENCY_ID}",
"partner": "NONE",
"funding_id": "{FB_FUNDING_ID}"
}
but ended up getting:
Unsupported post request. Object with ID '{business_id}' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api
.
This is not because I’m using an incorrect {business_id}, all of my other test calls that are using the same {business_id} are working perfectly.
It seems to me that for some reason, I cannot make a call to /adaccount. I went to check the facebook graph explorer and wasn’t able to get the autocomplete trigger for that endpoint when inputing the {business_id}.
Am I doing something wrong, or was this endpoint never working and I need to keep doing it manually?
2
Answers
You need to have Advanced Access to business_management permission.
You can submit app review for advanced access, if it approved, you can call /bm-id/adaccount to create ad account with required parameter.
Also, you can’t create an ad account on a real FB user. It works with test users well, but you need special permissions from FB to do this on a real user’s account.