Reputation: 165
Following is the code which will try to fetch the fields for a given adset id. The problem is I'm not able to get any fields that I've mentioned. Only id is being seen in the response.
Code :
FacebookAdsApi.init(account_id, "credentials", "access_token")
api = FacebookAdsApi.get_default_api()
api_batch = api.new_batch()
adset = AdSet(fbid=adset_id)
fields = [
AdSet.Field.name,
AdSet.Field.configured_status,
AdSet.Field.effective_status,
AdSet.Field.account_id,
AdSet.Field.campaign_id,
AdSet.Field.daily_budget,
AdSet.Field.start_time,
AdSet.Field.bid_amount,
AdSet.Field.billing_event,
AdSet.Field.optimization_goal,
AdSet.Field.targeting,
AdSet.Field.promoted_object
]
adset = AdSet(str(adset_id))
api = FacebookAdsApi.get_default_api()
api_batch = api.new_batch()
def get_response(success_adset=None):
print "Response is success"
print success_adset.json()
def get_failure(failure_adset=None):
print "Response is failure"
print failure_adset.json()
fn_success = partial(get_response)
fn_failure = partial(get_failure)
adset.remote_read(fields=[AdSet.Field.name], batch=api_batch, success=fn_success, failure=fn_failure)
api_batch.execute()
Upvotes: 2
Views: 217
Reputation: 4397
it doesn't look like you're passing the fields into the remote_read method. In the SDK examples we use the following:
adset.remote_read(fields=[
AdSet.Field.name,
AdSet.Field.configured_status,
AdSet.Field.effective_status,
AdSet.Field.account_id,
AdSet.Field.campaign_id,
AdSet.Field.daily_budget,
AdSet.Field.start_time,
AdSet.Field.bid_amount,
AdSet.Field.billing_event,
AdSet.Field.optimization_goal,
AdSet.Field.targeting,
AdSet.Field.promoted_object
], batch=api_batch, success=fn_success, failure=fn_failure)
Upvotes: 1