SIDDHARTH J MEHTA
SIDDHARTH J MEHTA

Reputation: 165

Fields not appearing while trying to fetch adset using facebook ads sdk 2.5.1(python)

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

Answers (1)

Paul Bain
Paul Bain

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

Related Questions