2017-08-23 3 views
0

Ich mag einen Einblick API-Aufruf machen, basierend auf einer Kampagnen-ID mit einer Panne auf product_id:Facebook Einblicke API-Aufruf mit Aufschlüsselung auf product_id werfen Fehler

/{campaign_id}/insights?fields=clicks,ad_id,adset_id,campaign_id,account_id,impressions,cpc,cost_per_inline_link_click,cost_per_inline_post_engagement,cpm,ctr,inline_link_click_ctr&time_range={"since":"2017-07-30","until":"2017-07-30"}&level=ad&breakdowns=product_id&limit=15 

, wenn ich ein anderes Feld wie inline_link_clicks oder Frequenz hinzufügen i erhalten der folgende Fehler

{ 
"error": { 
"code": 1, 
"message": "Please reduce the amount of data you're asking for, then retry your request" 
} 
} 

ich die die Zeitdauer an einem Tag bereits begrenzt, so weiß ich nicht, wie die Menge der Daten weiterhin zu reduzieren.

Wenn ich in verschiedenen Calls aufteilen, um die Menge der Daten zu reduzieren, komme ich schnell an die API-Anrufbeschränkung.

Ich habe auch versucht

/{ad-id}/insights?fields=ad_id&breakdowns=product_id&limit=15&level=ad&date_preset=yesterday 

und es wirft mich nach wie vor, dass Fehler ...

aber wenn ich "Felder" leer lassen erhalte ich diese JSON:

{ 
"data": [ 
{ 
"date_start": "2017-08-21", 
"date_stop": "2017-08-21", 
"impressions": "3", 
"spend": "0", 
"account_id": "{act-id}", 
"campaign_id": "{camp-id}", 
"adset_id": "{adset-id}", 
"ad_id": "{ad-id}", 
"product_id": "1234, ABCD«" 
} 

P. S. Ich verwende Talend Studio mit einer Thttprequest-Komponente für den API-Aufruf.

Edit: Ich habe auch versucht, eine POST-Anfrage mit /&method=GET zu verwenden, und ich bekomme den gleichen Fehler auch.

bearbeiten 24.08.17:

Ich versuchte nun, die Datenmenge zu reduzieren, indem die product_id_limit Parameter.

act_XXXX/insights?fields=account_name,ad_id&limit=10&date_preset=yesterday&level=ad&breakdowns=product_id&product_id_limit=1 

aber immer noch bekomme ich den Fehler, um die Daten zu reduzieren. In meinem Verständnis, product_id auf 1 zu beschränken, sollte ich nur so viele Daten erhalten, als würde ich den product_id-Breakdown nicht nutzen ?!

Antwort

0

Also habe ich diese Frage selbst gelöst.

Für eine riesige Menge von Daten von Facebook Insights z. mit einer Gliederung auf product_id musste ich eine Async Request auf Facebook verwenden:

Anstelle einer GET-Anfrage habe ich eine POST-Anfrage auf meine Abfrage. In der Antwort habe ich eine Report ID gefunden, auf der ich eine GET-Anfrage stellen konnte. Facebook teilt dann den Status des Berichts mit. Nach dem Abschluss des Berichts habe ich meine erste POST-Anfrage als GET-Anfrage für die Report-ID abgefragt und schließlich meine Ergebnisse erhalten.

Verwandte Themen