我正在尝试使用 PHP-SDK 从 Facebook 获取用户访问令牌。服务器端登录过程效果很好,重定向到正确的页面并提供$code
。
重定向后(并检查是否$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
某种原因没有工作或至少没有采取行动的电话。它也不返回任何错误。
我已经尝试并测试了几种替代方法,例如get_file_contents()
Facebook 教程中建议的方法以及向上述 API 调用添加其他参数(例如type=client_cred
,以及更多),但从未成功。
有人知道为什么 API 调用不起作用吗?是脚本还是 Facebook 上的某个应用设置?
提前致谢!