1

我正在發出一個包含50個報告發布請求的異步批量請求。Facebook圖形API廣告報告運行 - 消息:不支持的獲取請求

首批請求返回我的報告ID

第1步

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

下一頁我得到的報告信息,以獲得異步狀態,看看他們是否已準備好爲下載。

2ST步驟

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 
         }); 

一些在所述第一步驟中生成的id的正在返回此錯誤,一旦我打電話給他們在第二步驟

消息:不支持的get請求。 ID爲「6057XXXXXX」 的對象不存在,由於缺少權限而無法加載,或者 不支持此操作。請 https://developers.facebook.com/docs/graph-api

讀取圖形API文檔我知道這個ID是正確的,因爲我可以在使用Facebook的API資源管理器中看到它。我究竟做錯了什麼?

回答

1

這可能是由於Facebook的複製滯後造成的。這通常發生在您的POST請求被路由到服務器A時返回報告ID,但對該ID的查詢被路由到服務器B,該服務器不知道報告是否存在。

如果您以後嘗試查詢ID並且它可以正常工作,那就是滯後。 FB的官方建議是在查詢報告之前再等一會兒。

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

+0

THX大衛,其實我這樣做不知道,這是一個已知的「錯誤」。我已經捕獲了這些錯誤,並將這些ID放入隊列中,以便稍後查詢它們併發揮作用。 – bmvr