1

50 개의 보고서 게시 요청과 함께 비동기 일괄 요청을하고 있습니다.Facebook 그래프 API 광고 보고서 실행 - 메시지 : 지원되지 않는 요청 받기

첫 번째 배치 요청은 나에게 보고서 ID를 돌려줍니다

1 단계

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

다음 나는 그들이 할 준비가되어 있는지 확인하기 위해 비동기 상태를 얻기 위해, 보고서 정보를 얻고 다운로드. 지원되지 않는 GET 요청을 : 나는 두 번째 단계에서

메시지를 그들에게 전화하면

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의 일부는이 오류를 반환하고 있습니다. ID가 '6057XXXXXX' 인 개체가 없거나 사용 권한이 없어서로드 할 수 없거나 이이 작업을 지원하지 않습니다. https://developers.facebook.com/docs/graph-api

에서 그래프 API 설명서를 읽어 보시기 바랍니다 나는 페이스 북의 API를 탐색기를 사용하여 볼 수 있기 때문에 ID가 올바른지 알고있다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

1

이것은 Facebook의 복제 지연으로 인해 발생할 수 있습니다. 일반적으로 POST 요청이 서버 A로 라우팅되어 보고서 ID를 반환하지만 해당 ID에 대한 쿼리가 보고서 존재 여부를 아직 모르는 서버 B로 라우팅되면 발생합니다.

ID를 나중에 쿼리하려고하면 작동이 지연됩니다. 이에 대한 공식 FB 조언은 보고서를 쿼리하기 전에 잠깐 기다리는 것입니다.

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

+0

들으 다윗은, 실제로 나는 그것이 알려진 "버그"는 것을 모르고 이런 짓을. 나는이 오류를 잡아서 큐에 넣어 나중에 쿼리하고 작동시켰다. – bmvr