2017-06-27 2 views
0

Tâche

J'essaie de récupérer toutes les campagnes publicitaires, publicités et annonces provenant de divers comptes associés à notre Gestionnaire de l'activité commerciale.Comment puis-je récupérer un grand nombre de campagnes, de publicités et d'annonces DELETED?

Problème

Les critères d'évaluation spécifiques que je suis accès sont:

https://graph.facebook.com/v2.8/act_xxxxxxxxxxxxx/campaigns
https://graph.facebook.com/v2.8/act_xxxxxxxxxxxxx/adsets
https://graph.facebook.com/v2.8/act_xxxxxxxxxxxxx/ads

Lorsque je fais une recherche certains de ces comptes pour toutes les campagnes utilisant le paramètre filter ,

[{'operator': 'IN', 
     'field': 'ad.effective_status', 
     'value': [ 
      'ACTIVE', 
      'PAUSED', 
      'DELETED', 
      'PENDING_REVIEW', 
      'DISAPPROVED', 
      'PREAPPROVED', 
      'PENDING_BILLING_INFO', 
      'CAMPAIGN_PAUSED', 
      'ARCHIVED', 
      'ADSET_PAUSED']}] 

l'API Facebook renvoie toujours cette erreur:

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

Dépannage

  • Je l'ai utilisé différentes valeurs pour le paramètre filter tel que 1, 25, 50, 100, 500.
  • J'ai essayé de limiter la date en utilisant les paramètres date_preset (cela ne semble pas pertinent).
  • J'ai essayé de limiter les requêtes en filtrant les campagnes individuelles en incluant {'operator': 'IN','field':'campaign.id','value':['xxxxxxxxxxxxx']} en tant que filtre supplémentaire dans le paramètre filter.
  • J'ai tenté des requêtes par lots et interrogé le point de terminaison /insights, mais je n'ai pas encore eu de travail.

Autres détails

Quand je ne comprennent que ACTIVE campagnes dans le filtre, la requête fonctionne. Cela m'a permis de déduire que les campagnes DELETED sont le problème. En d'autres termes, ces comptes ont une tonne de campagnes DELETED.

Je fais mes demandes en utilisant Postman Version 5.0.0 (5.0.0). J'imagine que si je peux comprendre comment obtenir les campagnes, les annonces et les annonces seront similaires. Comment puis-je résoudre ce problème?

Répondre

1

La raison en est que l'API ne prend pas réellement en charge l'interrogation des objets supprimés pour certains points de terminaison. J'ai essayé d'obtenir toutes les campagnes pour un certain compte et c'est la réponse.

Method: GET 
Path:  
https://graph.facebook.com/v2.10/act_XXXX/campaigns 
Params: {'effective_status': '["ACTIVE","PAUSED","DELETED","ARCHIVED"]', 'fields': 'id,name,status', 'summary': 'true'} 

Response: 
{ 
    "error": { 
    "code": 100, 
    "is_transient": false, 
    "error_subcode": 1815001, 
    "error_user_msg": "Requesting for deleted objects is not supported in this endpoint.", 
    "error_user_title": "Cannot Request for Deleted Objects", 
    "message": "Invalid parameter", 
    "type": "OAuthException", 
    "fbtrace_id": "FYDwMABcwxj" 
    } 
} 

Après avoir examiné la documentation que j'ai découvert ce https://developers.facebook.com/docs/marketing-api/best-practices/storing_adobjects

Et ici ils déclarent

If you keep the deleted object id, you can continue to retrieve the stats or object details by individually querying the object ID. However you cannot retrieve the deleted objects as a connection object from a non deleted node/object.