2

Im Folgenden wird der Code beschrieben, der versucht, die Felder für eine bestimmte adset-ID abzurufen. Das Problem ist, dass ich keine der Felder, die ich erwähnt habe, bekommen kann. Nur ID wird in der Antwort gesehen.Felder, die beim Abrufen von adset mithilfe von Facebook-Anzeigen nicht angezeigt werden sdk 2.5.1 (python)

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() 

Antwort

1

es sieht nicht wie Sie die Felder in die remote_read Methode vorbei sind. In den SDK-Beispielen verwenden wir Folgendes:

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) 
+0

Ich habe versucht, die Felder Variablen in meinem Code oben erklärt. Funktioniert immer noch nicht. Die letzte Zeile meines Codes adset.remote_read (fields = [AdSet.Field.name], Batch = api_batch, Erfolg = fn_success, failure = fn_failure) wird ersetzt durch adset.remote_read (fields = fields, batch = api_batch, Erfolg = fn_success, Fehler = fn_failure). Es funktioniert immer noch nicht –