我能';不要让PHP Facebook API工作

我能';不要让PHP Facebook API工作,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,所以我想在我的网站上实现Facebook登录。我已经加载了SDK,创建了一个应用程序,并粘贴了应用程序id和密码 我遇到的问题是,当登录流看起来正常工作时,我从ok返回值 facebook->getUser() 及 facebook->getAccessToken() 呼叫 $user_profile=$facebook->api('/me','GET') 抛出一个异常,说明我没有访问令牌 由于这是直接来自SDK的未修改示例代码,我有点不知所措-如果给出的编码示例不起作用,我该如何理解呢?:)

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

我遇到的问题是,当登录流看起来正常工作时,我从ok返回值

facebook->getUser()

facebook->getAccessToken()

呼叫

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

抛出一个异常,说明我没有访问令牌

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

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

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

当我登录时,我可以在我的facebook个人资料OK中看到添加到列表中的应用程序,这样这一方看起来正在工作。看来不是SDK坏了,就是我要取回的访问令牌由于某种原因无效

任何关于我错过的东西的帮助或指示都将不胜感激

谢谢

贾斯汀试试这个

$config['cookie'] = true;
和重新登录


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

以下是完整的代码流程,希望对您有所帮助

假设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  
 }

谢谢,但是没有变化。每次点击登录链接时,我都会得到一个新的访问令牌,但api调用仍然失败。如果我只是刷新页面,访问令牌将保留,因此cookie设置为ok。