我无法让PHP Facebook API工作

时间:2014-01-08 00:20:55

标签: php facebook facebook-graph-api

所以我想在我的网站上实现Facebook登录。我已下载SDK,创建了一个应用程序并粘贴了应用程序ID和密码。

我得到的问题是,虽然登录流程似乎有效,但我从

返回了值

facebook-> getUser()

facebook-> getAccessToken()

致电

$ user_profile = $ facebook-> api('/ me','GET')

抛出异常,说我没有访问令牌。

由于这是未修改的示例代码,直接来自SDK,我有点不知所措 - 如果给出的编码示例不起作用,我该如何解决? :)

此页面上的代码存在同样的问题:

https://developers.facebook.com/docs/php/howto/profilewithgraphapi/

基本上做同样的事情但处理异常,所以我在“登录到facebook”循环中转转。

我可以看到应用程序添加到我的Facebook个人资料列表中的确定当我登录时,该方似乎正在工作。似乎SDK被破坏或者我回来的访问令牌由于某种原因无效。

对于我错过的任何帮助或指示都会非常感激!

由于

贾斯汀

2 个答案:

答案 0 :(得分:0)

试试这个

$config['cookie'] = true;

和relogin。

这是我用来登录的PHP代码。

答案 1 :(得分:0)

这是代码的完整流程,希望这会有所帮助。

假设FB connect的页面是login.php,我将在页面顶部有以下PHP代码

require_once 'src/facebook.php'; //include the facebook php sdk
 $facebook = new Facebook(array(
    'appId'  => FACEBOOK_APP_ID,
    'secret' => FACEBOOK_APP_SECRET,
    'cookie' => true,
    'domain'=> FACEBOOK_CONNECT_DOMAIN 
  ));

 $user = $facebook->getUser();
 if($user){
   // lets set the access token before making a api call.
   $new_access_token = $facebook->getAccessToken();
   $facebook->setAccessToken($new_access_token);
   $user_profile = $facebook->api('/me','GET') 
   ......
   ......
 }else{
  // display the fb login  
 }