Facebook Graph API(#190)必须使用页面访问令牌调用此方法
我通过Facebook Graph API从Facebook insights获得了一年多的数据。最近启动了我的所有请求(如Facebook Graph API(#190)必须使用页面访问令牌调用此方法,facebook,facebook-graph-api,facebook-insights,Facebook,Facebook Graph Api,Facebook Insights,我通过Facebook Graph API从Facebook insights获得了一年多的数据。最近启动了我的所有请求(如{id}/insights)以返回错误:(#190)必须使用页面访问令牌调用此方法。 但是访问令牌包含作用域管理页面,读取洞察。 有什么想法吗?管理页面,阅读见解 这将提供一个用户访问\u令牌,您可以使用该令牌管理页面和检查细节 但自2018年2月5日起,任何/insights端点都需要页面令牌 使用您的manage_pagesscope&user_令牌获取页面访问令牌 向
{id}/insights
)以返回错误:(#190)必须使用页面访问令牌调用此方法。
但是访问令牌包含作用域管理页面,读取洞察
。
有什么想法吗?管理页面,阅读见解
这将提供一个用户访问\u令牌
,您可以使用该令牌管理页面和检查细节
但自2018年2月5日起,任何/insights
端点都需要页面令牌
使用您的manage_pages
scope&user_令牌
获取页面访问令牌
向该端点发送get请求
GET /{page-id}?fields=access_token
{
"access_token": "{your-page-access-token}",
"id": "{page-id}"
}
输出
GET /{page-id}?fields=access_token
{
"access_token": "{your-page-access-token}",
"id": "{page-id}"
}
您现在可以使用返回的访问令牌调用/insights
端点。因为我无法添加注释,所以我将在这里写下它
字段名为access\u token
,您可以在此处使用页面id进行检查
对于PHP
如果您的脚本是用PHP编写的,使用的是,现在它中断了,那么您只需要检索令牌并传递它,而不是使用access/refresh令牌
//Retrieve new 'page access token'.
$token = $fbApiClient -> get( "/{$pageId}?fields=access_token") -> getGraphNode()-> asArray();
//$q is your insights query which was working until now :(
//But with page acces token it will work again.
$response = $fbApiClient -> get( $q, $token['access_token']) -> getGraphEdge();
//(...) rest of script.
我认为它也很容易适应其他语言。此外,您还可以(也可能应该)存储页面访问令牌,并在任何需要的地方使用它,而不是每次都检索它。您可以链接到Facebook提到的自2018年2月5日起生效的页面访问令牌吗?我找不到它。是的,他们有一个通知,一个90天的中断更改或什么的,而且当你在顶部检查旧版本的文档时,它会提到所有版本都受到此更改的影响。这对我不起作用。当我使用get/{Page id}?fields=user\u access\u token
@JesseNovotny我遇到了完全相同的问题,你找到答案了吗?@Green你一定误解了答案,它是有效的!如果你需要进一步的帮助,我可以帮助你