我有两个Facebook页面,我管理员,让我们称之为page_a
和page_b
如果我为page_a运行它,它按预期工作:
HTTP GET -> {PAGE_A_ID}/insights?metric=page_fans_country
{
"data": [
{
"name": "page_fans_country",
"period": "day",
"values": [
{
"value": {
"AR": 4,
"AT": 13,
"AU": 7,
"BE": 16,
....
我使用的页面访问令牌具有以下范围:read_insights
,manage_pages
,pages_show_list
和public_profile
但当我然后尝试查询有关帖子的详细信息时,我得到了这个
HTTP GET -> {PAGE_A_ID}_{PAGE_A_POSTID}/insights?metric=post_impressions,post_impressions_unique,post_video_views,post_video_views_unique&period=lifetime
{
"error": {
"message": "Permissions error",
"type": "OAuthException",
"code": 200,
"error_subcode": 1504029,
"is_transient": false,
"error_user_title": "User doesn't have enough permissions to load insights",
"error_user_msg": "You do not have enough permission to view the metric.",
"fbtrace_id": "..."
}
}
它适用于我为page_b做同样的事情
HTTP GET -> {PAGE_B_ID}_{PAGE_B_POSTID}/insights?metric=post_impressions,post_impressions_unique,post_video_views,post_video_views_unique&period=lifetime
{
"data": [
{
"name": "post_video_views",
"period": "lifetime",
"values": [
{
"value": 0
}
],
....
page_b的页面访问令牌与page_a的页面访问令牌具有相同的范围
我可以看到facebooks UI中的所有数字,但我无法通过API访问它,之前有任何人有类似的问题吗?我卡住了,不知道从哪里开始。
以上所有代码均已在Facebook Graph Explore中运行,并带有新生成的令牌。
任何有关从哪里出发的输入都表示赞赏。
正如@ xuantuan58的评论中所提到的,这似乎是FB API中的一个错误。 https://developers.facebook.com/support/bugs/301627877187448/
也可能与此错误报告有关:https://developers.facebook.com/support/bugs/2380273985356980/
我注意到它只发生在某些用户和页面上,但截至目前尚无法看到模式。有时,API不会返回错误,而只是返回一个空数据数组。如果您认为响应中应该有数据,请尝试使用图形浏览器工具,因为我发现有时会提供更好的错误响应。
https://developers.facebook.com/tools/explorer/
更新:此问题现已被Facebook标记为已解决。我一直在测试,发现这个问题确实已得到修复。
几天前我们也遇到了同样的问题。在使用范围后,我们发现如果business_management
范围是授权,那么我们得到了数据。但显然,从它的document business_management
不需要阅读Page Insights。希望有人有更好的见解