3

我在网站上使用 Facebook Connect。
我登录用户。我要求获得 publish_stream、user_about_me 以及其他权限

使用 JS SDK FB.login函数,我检查响应。authResponse对象,然后通过jQuery Ajax将以下数据发布到单独的 php 文件中进行处理:

  • response.authResponse.accessToken
  • response.authResponse.userID

process.php 文件通过$_POST 获取这些参数,并将uid、token、name 等保存到数据库中。

https://graph.facebook.com/ $uid?access_token=$token

然后在同一个文件中,我尝试将他的用户令牌交换为扩展的

https://graph.facebook.com/oauth/access_token?client_id= $appid&client_secret=$appsecret&grant_type=fb_exchange_token&fb_exchange_token=$token

我不知道出了什么问题,但我得到以下信息

代码 190

有没有办法解决这个问题?

谢谢

4

2 回答 2

0

如果您的 $token 被验证为有效,那么您的 $appid 或 $appsecret 变量必须设置不正确。

打印出整个字符串并验证 appId 和 appSecret 应该是什么。

请注意,如果您在交换访问令牌之前“手动”注销 facebook,则(短期)令牌将失效并且令牌交换将失败。

于 2013-04-30T06:19:49.737 回答
0

一个简单的解决方案可能是在 php 文件中使用 PHP SDK:

https://github.com/facebook/facebook-php-sdk

我猜你正在使用 AJAX 调用 php 文件,所以你可能需要使用 PHP SDK 的“setAccessToken”函数设置访问令牌。之后,使用“setExtendedAccessToken”,无需自己做所有这些事情,PHP SDK 是官方的。

于 2013-05-02T15:31:08.130 回答