1

Ich mache eine asynchrone Batch-Anfrage mit 50 Bericht Beitrag Anfrage darauf.Facebook Graph API-Anzeigenbericht Ausführen - Nachricht: Nicht unterstützte Anfrage erhalten

Die erste Charge Anforderung gibt mir den Bericht Ids

1. Schritt

dynamic report_ids = await fb.PostTaskAsync(new 
        { 
         batch = batch, 
         access_token = token 
        }); 

Next ich die Berichte Informationen bekommen, um zu sehen, von dem Asynchron-Status zu erhalten, wenn sie bereit zu sein, sind heruntergeladen.

2st Schritt

var tListBatchInfo = new List<DataTypes.Request.Batch>(); 
         foreach (var report in report_ids) 
         { 
          if (report != null) 
           tListBatchInfo.Add(new DataTypes.Request.Batch 
           { 
            name = !ReferenceEquals(report.report_run_id, null) ? report.report_run_id.ToString() : report.id, 
            method = "GET", 
            relative_url = !ReferenceEquals(report.report_run_id, null) ? report.report_run_id.ToString() : report.id, 
           }); 

         } 
dynamic reports_info = await fb.PostTaskAsync(new 
         //dynamic results = fb.Post(new 
         { 
          batch = JsonConvert.SerializeObject(tListBatchInfo), 
          access_token = token 
         }); 

Einige der ids im ersten Schritt erzeugt kehren diese Fehler, wenn ich sie im zweiten Schritt rufe

Nachricht: Nicht unterstützte get Anfrage. Objekt mit ID '6057XXXXXX' existiert nicht, kann aufgrund fehlender Berechtigungen nicht geladen werden, oder unterstützt diese Operation nicht. Bitte lesen Sie die Grafik-API-Dokumentation bei https://developers.facebook.com/docs/graph-api

weiß, dass ich die ID korrekt ist, weil ich es sich mit der api-Explorer sehen können. Was mache ich falsch?

Antwort

1

Dies kann durch die Replikationsverzögerung von Facebook verursacht werden. Dies geschieht normalerweise, wenn Ihre POST-Anforderung an Server A weitergeleitet wird und die Berichts-ID zurückgibt. Die Abfrage an diese ID wird jedoch an Server B weitergeleitet, der noch nicht über die Existenz des Berichts informiert ist.

Wenn Sie versuchen, die ID später abzufragen und es funktioniert, dann ist es die Verzögerung. Der offizielle FB-Rat dafür ist, einfach etwas länger zu warten, bevor der Bericht abgefragt wird.

https://developers.facebook.com/bugs/250454108686614/

+0

Thx David, eigentlich habe ich dies, ohne zu wissen, dass es ein bekannter "Bug" war. Ich habe diese Fehler abgefangen und diese IDs in eine Warteschlange gestellt, um sie später abzufragen, und es hat funktioniert. – bmvr

Verwandte Themen