我有2个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的作用域相同
我可以在facebook界面中看到所有数字,但是我无法通过API访问它,有人以前遇到过类似的问题吗?,我被困住了,不知道从这里去哪里。
以上所有代码均已使用新生成的令牌在Facebook Graph Explore中运行。
任何关于从这里到哪里的输入都会受到赞赏。
答案 0 :(得分:1)
如@ 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标记为已解决。我经过测试,发现此问题确实已解决。
答案 1 :(得分:0)
几天前,我们遇到了同样的问题。在使用范围之后,我们发现如果授予business_management
范围,那么我们得到了数据。但很明显,阅读Page Insights不需要使用其document business_management
。希望有人能提供更好的见识