我试图从Facebook获取用户访问令牌与PHP-SDK。服务器端登录过程效果很好,重定向到正确的页面并提供$code
。Facebook API:/ oauth/access_token不工作
重定向后(并检查$code
是否存在),那么我调用下面的API方法来交换$code
为用户令牌(API参数在这里抑制):
$fb->api('/oauth/access_token',array(
'client_id' => APP_ID,
'client_secret' => APP_SECRET,
'redirect_uri' => REDIRECT_URI,
'code' => $code
));
$fb_token = $fb->getAccessToken();
echo $fb_token;
不幸的是,我从这个得到脚本仍然是应用程序令牌。事实上,降低了脚本,只需要将下面没有任何区别:
$fb_token_user = $fb->getAccessToken();
echo $fb_token_user;
所以我想这是所有关于/oauth/access_token
调用由于某种原因不能正常工作,或者至少不会采取任何行动。它也不会返回任何错误。
我已经尝试并测试了几个备选方案,例如Facebook教程中建议的get_file_contents()
方法,并在上述API调用中添加了其他参数(例如type=client_cred
等),但从未成功。
有人明白为什么API调用不起作用吗?它是脚本还是可以在Facebook上设置一些应用程序?
在此先感谢!
你的APP_ID和APP_SECRET是否正确?在你的应用程序配置上是否有正确的URL? – 2013-03-23 14:13:54
@fabio APP_ID和APP_SECRET都是正确的。作为应用程序配置中的网站网址,我已经设置了https://www.domain.com/带有斜线,这应该允许域中的任何文档,对吗? – uLyXes 2013-03-23 14:53:14
尝试将其更改为将接收oauth响应的URL – 2013-03-23 15:15:16