有效令牌,有效请求,使用页面访问令牌无响应

时间:2016-02-29 13:41:14

标签: facebook-graph-api facebook-php-sdk

我制作了一个试图创建永不过期的页面访问令牌的Web应用程序。这样做是因为它全部用PHP编写,需要访问数据而不要求用户重复登录。

Facebook文档说:

  

要获得更长寿命的页面访问令牌,请将用户访问令牌交换为长期访问令牌,如上所述,然后请求页面访问令牌。生成的页面访问令牌将没有任何到期时间。

所以我写了以下PHP:

// get our current access token
$accessToken = $session->getAccessToken();

// make it a long-lived access token
$longLivedAccessToken = $accessToken->extend();

// find the list of pages we have access to
$request = new FacebookRequest($session, "GET", "/me/accounts?fields=name,access_token,perms");
$response = $request->execute()->getGraphObject()->asArray();

// get the first page access token
$pageAccessToken = $response["data"][0]->access_token;

这似乎有效:访问令牌调试器表示令牌永不过期且现在有效。我甚至可以使用这个令牌做很多事情。

但我的令牌不能做某些事情,我不知道为什么。

我遇到问题的方法是阅读/insights/page_fans_country/lifetime终点。

如果我使用/mypage/insights/page_fans_country/lifetime,我会收到回复。也就是说,mypage是用于生成永久访问令牌的页面。

如果我使用/otherpage/insights/page_fans_country/lifetime,我就没有数据。

据我所知,这是公共数据 - 如果我在Graph API资源管理器中生成新的访问令牌,我会获得两个请求的有效数据。

所以:

1)我是否正确请求永久页面令牌?

2)这只是(永久)页面令牌的限制 - 他们无法访问某些公共数据吗?

3)如果是这样,是否有正确的方法使用未过期的令牌访问此数据?

0 个答案:

没有答案