#facebook-graph-api #facebook-marketing-api
#facebook-graph-api #facebook-marketing-api
Вопрос:
Я хочу изучить api маркетинга Facebook с помощью python и хочу создать свою первую кампанию на Facebook с его помощью.
Итак, я набрал в оболочке python:
from facebookads.api import FacebookAdsApi
from facebookads import objects
my_app_id = '<APP_ID>'
my_app_secret = '<APP_SECRET>'
my_access_token = '<ACCESS_TOKEN>'
FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
from facebookads.adobjects.campaign import Campaign
campaign = Campaign(parent_id='act_<AD_ACCOUNT_ID>')
campaign.update({
Campaign.Field.name: 'My First Campaign',
Campaign.Field.objective: '<LINK_CLICKS>',
})
campaign.remote_create(params={
'status': Campaign.Status.paused,
})
print(campaign)
где я заменил:
<APP_ID>
с моим идентификатором приложения
<APP_SECRET>
с моим секретным приложением
<ACCESS_TOKEN>
с токеном, который я создал для ads_management
<AD_ACCOUNT_ID>
с моим идентификатором добавления учетной записи
Но у меня ошибка…
Warning (from warnings module):
File "C:UsersGAppDataLocalProgramsPythonPython35-32libsite-packagesfacebookadsutilsapi_utils.py", line 30
warnings.warn(message)
UserWarning: value of objective might not be compatible. Expect objective_enum; got <class 'str'>
Traceback (most recent call last):
File "C:/Users/G/AppData/Local/Programs/Python/Python35-32/fb-api-test.py", line 18, in <module>
'status': Campaign.Status.paused,
File "C:UsersGAppDataLocalProgramsPythonPython35-32libsite-packagesfacebookadsadobjectsabstractcrudobject.py", line 290, in remote_create
response = request.execute()
File "C:UsersGAppDataLocalProgramsPythonPython35-32libsite-packagesfacebookadsapi.py", line 658, in execute
api_version=self._api_version,
File "C:UsersGAppDataLocalProgramsPythonPython35-32libsite-packagesfacebookadsapi.py", line 325, in call
raise fb_response.error()
facebookads.exceptions.FacebookRequestError:
Message: Call was not successful
Method: POST
Path: https://graph.facebook.com/v2.7/act_<ad_account_id>/campaigns
Params: {'status': 'PAUSED', 'objective': '<LINK_CLICKS>', 'name': 'My First Campaign'}
Status: 400
Response:
{
"error": {
"message": "Invalid OAuth access token.",
"type": "OAuthException",
"fbtrace_id": "E...",
"code": 190
}
}
Что еще я должен сделать, чтобы это заработало?
Ответ №1:
Вы можете перейти на эту страницу, чтобы сгенерировать свой токен доступа, особенно через graph api explorer: https://developers.facebook.com/docs/marketing-api/access#manually-getting-access-tokens
Вы также должны изменить свою цель на одну из следующих: APP_INSTALLS, BRAND_AWARENESS, КОНВЕРСИИ, EVENT_RESPONSESES, LEAD_GENERATION, LINK_CLICKS, LOCAL_AWARENESS, OFFER_CLAIMS, PAGE_LIKES, POST_ENGAGEMENT, PRODUCT_CATALOG_SALES, ОХВАТ, VIDEO_VIEWS