Facebook Graph API广告报告运行
我正在做一个异步批处理请求,其中包含50个报告请求。
第一批请求返回报告ID
第一步
dynamic report_ids = await fb.PostTaskAsync(new
{
batch = batch,
access_token = token
});
接下来,我将获取报告信息,以获取异步状态以查看是否可以下载。
第2步
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上的Graph API文档
我知道ID是正确的,因为我可以在使用Facebook API浏览器中看到它。 我究竟做错了什么?
这可能是由于Facebook的复制滞后造成的。 这通常发生在您的POST请求被路由到服务器A时返回报告ID,但对该ID的查询被路由到服务器B,该服务器不知道报告的存在。
如果您稍后尝试查询ID并且它有效,那么就是滞后。 FB的官方建议是在查询报告之前再等一会儿。
https://developers.facebook.com/bugs/250454108686614/
链接地址: http://www.djcxy.com/p/32565.html