Создание первой кампании с помощью Facebook marketing api python sdk

#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