Facebook的蟒蛇营销API AttributeError

问题描述:

我想通过它的python包facebookapi使用Facebook的营销API。Facebook的蟒蛇营销API AttributeError

这里的代码片段:

from facebookads.adobjects.customaudience import CustomAudience 

audience = CustomAudience(parent_id='act_10336...') 
audience[CustomAudience.Field.subtype] = CustomAudience.Subtype.custom 
audience[CustomAudience.Field.name] = 'My new CA' 
audience[CustomAudience.Field.description] = 'People who bought on my website' 

audience.remote_create() 

它是直接取自Facebook的例子给定here定制观众创作。

我把适当的AD_ACCOUNT_ID放在第二行。

我得到一个错误:

AttributeError: 'NoneType' object has no attribute 'call' 

经过一番调查,我发现这条线从api.py返回None,我认为这是这个问题的心脏:

FacebookAdsApi.get_default_api() 

在实际上,我尝试执行的任何api调用都返回了类似的错误。

有人知道这件事吗?

您没有引导API? 试试这个:

from facebookads.api import FacebookAdsApi 
from facebookads import objects 

my_app_id = '<APP_ID>' 
my_app_secret = '<APP_SECRET>' 
my_access_token = '<ACCESS_TOKEN>' 
proxies = {'http': '<HTTP_PROXY>', 'https': '<HTTPS_PROXY>'} # add proxies if needed 
FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token, proxies) 
+0

我们如何生成access_token? –

+0

“”message“的错误:”无效的OAuth访问令牌。“” –

+0

@MitulShah首先用'FB.login()'获得一个短暂的令牌,然后通过GET请求一个长寿命的令牌/ OAuth的/的access_token?grant_type = fb_exchange_token&CLIENT_ID = {APP-ID}&client_secret = {应用秘密}&fb_exchange_token = {短暂的令牌}'。当令牌到期时重复该过程。 –