Facebook Graph API广告报告运行 - 消息:不支持的获取请求

时间:2017-02-13 14:50:05

标签: facebook facebook-graph-api facebook-ads-api facebook-requests facebook-batch-request

我正在制作一个异步批处理请求,上面有50个报告发布请求。

第一批请求返回Report Ids

第一步

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

接下来,我将获取报告信息,以获取异步状态以查看是否已准备好下载。

第二步

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'的对象   不存在,由于缺少权限而无法加载,或者是   不支持此操作。请阅读Graph API文档   https://developers.facebook.com/docs/graph-api

我知道id是正确的,因为我可以在使用facebook api explorer时看到它。我做错了什么?

1 个答案:

答案 0 :(得分:1)

这可能是由于Facebook的复制滞后造成的。当您的POST请求被路由到服务器A,返回报告ID时,通常会发生这种情况,但查询到该ID会被路由到服务器B,而服务器B还不知道报告是否存在。

如果您稍后尝试查询ID并且它可以正常工作,那么就是滞后。 FB的官方建议是在查询报告之前等待一段时间。

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