Facebook Business API запрашивает кампании через python - PullRequest
0 голосов
/ 20 сентября 2018

Мы заняты обновлением с API-интерфейса маркетинга до API-интерфейса для бизнеса (не API для графиков и не API для маркетинга) для Facebook.В документации говорится, что можно создать test.py со следующим кодом:

import sys
sys.path.append('/opt/homebrew/lib/python2.7/site-packages') 
sys.path.append('/opt/homebrew/lib/python2.7/site-packages/facebook_business-3.0.0-py2.7.egg-info') 

from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount

my_app_id = 'your-app-id'
my_app_secret = 'your-appsecret'
my_access_token = 'your-access-token'
FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
my_account = AdAccount('your-adaccount-id')
campaigns = my_account.get_campaigns()
print(campaigns)

Для этого требуется секретное подтверждение приложения, которое я получаю со следующим хешем:

facebook_app_id     = 'xxxxx'
facebook_app_secret = 'xxxxx'
facebook_app_token  = 'xxxxx|xxxxx'.format(facebook_app_id,facebook_app_secret)

import hmac,hashlib
app_secret_proof    = hmac.new(facebook_app_secret.encode('utf-8'),
                       msg=facebook_app_token.encode('utf-8'),
                       digestmod=hashlib.sha256).hexdigest()

print(app_secret_proof)

Ошибка, которую я получаю:

Traceback (most recent call last):
File "test.py", line 12, in <module>
FacebookAdsApi.init(my_app_id,my_app_secret,my_access_token,my_appsecret_proof)
File "/Users/facebook_business/api.py", line 202, in init
cls.set_default_account_id(account_id)
File "/Users/facebook_business/api.py", line 225, in set_default_account_id
"Account ID provided in FacebookAdsApi.set_default_account_id " 
ValueError: Account ID provided in FacebookAdsApi.set_default_account_id expects a string that begins with 'act_'

Ни один из идентификаторов не начинается с act_, в настоящее время я использую идентификатор приложения, который находится в верхнем левом углу панели приложения, какой из них использовать? Маркетинговый API

1 Ответ

0 голосов
/ 07 ноября 2018

Номер рекламного аккаунта в бизнес-менеджере можно получить на экране входа в систему.

Из Бизнес-менеджера

...