python facebook_business sdk: response = self._api.call (AttributeError: у объекта 'NoneType' нет атрибута 'call' - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь следовать примерам на официальной странице facebook , но я получаю эту ошибку

    Traceback (most recent call last):
  File ".\stack.py", line 46, in <module>
    'status': AdSet.Status.paused,
  File "C:\Users\Dario\AppData\Local\Programs\Python\Python35\lib\site-packages\facebookads\adobjects\abstractcrudobject.py", line 296, in remote_create
    response = request.execute()
  File "C:\Users\Dario\AppData\Local\Programs\Python\Python35\lib\site-packages\facebookads\api.py", line 669, in execute
    response = self._api.call(
AttributeError: 'NoneType' object has no attribute 'call'

при запуске моего кода. У меня нет причин, почему это могло произойти. я думаю, что это может быть что-то, связанное с SDK

мой код следующий:

from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.campaign import Campaign
from facebook_business.adobjects.adaccountuser import AdAccountUser as AdUser
from facebookads.adobjects.targetingsearch import TargetingSearch
import datetime
from facebookads.adobjects.adset import AdSet


my_app_id = ''
my_app_secret = ''
my_access_token = ''
FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
my_account = AdAccount('act_')

today = datetime.date.today()
start_time = str(today + datetime.timedelta(weeks=1))
end_time = str(today + datetime.timedelta(weeks=2))

from facebookads.adobjects.targeting import Targeting

targeting = {
    Targeting.Field.geo_locations: {
        Targeting.Field.countries: ['US'],
    },
    Targeting.Field.interests: [],
}

targeting = {}


adset = AdSet(parent_id='act_')
adset.update({
    AdSet.Field.name: 'My Ad Set',
    AdSet.Field.campaign_id: '',
    AdSet.Field.daily_budget: 1000,
    AdSet.Field.billing_event: AdSet.BillingEvent.impressions,
    AdSet.Field.optimization_goal: AdSet.OptimizationGoal.reach,
    AdSet.Field.bid_amount: 2,
    AdSet.Field.targeting: targeting,
    AdSet.Field.start_time: start_time,
    AdSet.Field.end_time: end_time,
})

adset.remote_create(params={
    'status': AdSet.Status.paused,
})

есть идеи о том, как ее решить?

...