通过他们所做的更改,使用应用程序 access_token 的查询无法使用上述查询:
SELECT name,location FROM event WHERE contains('egypt')
该查询适用于会话令牌(用户access_tokens
),但是,access_token
它只返回一个应用程序:
{
"error": {
"message": "(#200) Must have a valid access_token to access this endpoint",
"type": "OAuthException",
"code": 200
}
这让我感到惊讶,因为我仍然可以使用任何其他查询,而不是包含在带有应用程序 access_token 的事件表中
更新:查看他们的文档后,我发现您只能将应用访问令牌用于非常有限的查询集:
https ://developers.facebook.com/docs/reference/api/search/
我最终做的是我使用以下内容从我的用户那里获取会话 access_token 作为 page_manager
https://www.facebook.com/dialog/oauth?client_id={MY_CLIENT_ID}&scope=manage_pages&redirect_uri={MY_REDIRECT_URI}&response_type=token
上面的查询返回您的access_token
,您可以使用它来成功运行您的查询。它的基本作用是将access_token
您作为散列属性附加到您
{MY_REDIRECT_URI}#access_token={MY_ACCESS_TOKEN}
如果您想解析服务器上的访问令牌,这对您不起作用,因为散列属性不会随请求一起发送到您的服务器。您可以做的是将type=web_server
上述请求附加到 facebook。在这种情况下,access_token
将作为名为的请求参数返回code