必须使用活动访问令牌来查询有关当前用户 - Graph api异常的信息

my *_*xyz 7 php facebook-graph-api

我正在尝试使用Graph api更新Facebook用户状态.我的代码是

<?php 
    require 'facebook.php'; 
    $facebook = new Facebook(array( 
    'appId' =>'389694921095423',
    'secret' =>'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
    'cookie' => true
    )); 
    $access_token = $facebook->getAccessToken();
    echo($access_token);
    $me = null; 

    try 
    { 
        $uid = $facebook->getUser(); 
        $me = $facebook->api('/me'); 
        echo "Welcome User: " . $me['name'] . "<br />"; 
        //access permission
        $permissions_needed = array('publish_stream', 'read_stream', 'offline_access', 'manage_pages');
        foreach($permissions_needed as $perm) 
        {  
            if( !isset($permissions_list['data'][0][$perm]) || $permissions_list['data'][0][$perm] != 1 )
            {    
            $login_url_params = array(
                'scope' => 'publish_stream,read_stream,offline_access,manage_pages',         
                'fbconnect' =>  1,         
                'display'   =>  "page",         
                'next' => 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']      
                );    
            $login_url = $facebook->getLoginUrl($login_url_params);   
            header("Location: {$login_url}");
            exit(); 
            }
        }
        //Access permission

        $post_id = $facebook->api("/$uid/feed", "post", array("message"=>"Hello World!")); 
        if(isset($post_id)) 
        {
            echo "A new post to your wall has been posted with id: $post_id"; 
        }
    } 
    catch (FacebookApiException $e) 
    { 
        echo($e); 
    } 
?>
Run Code Online (Sandbox Code Playgroud)

问题是它显示运行时错误,如致命错误:未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息.我已经生成了Access Tocken.我必须使用它来删除此异常提前谢谢

hap*_*dik 32

尝试更改线路:

$me = $facebook->api('/me');
Run Code Online (Sandbox Code Playgroud)

$me = $facebook->api('/'.$uid); 
Run Code Online (Sandbox Code Playgroud)

如果你没有使用最新版本,如果你刚刚升级了sdk并且它造成了麻烦,那么也尝试升级你的sdk,而不是你可以尝试降级版本并检查.

  • 好吧,这是facebook!奇怪的错误,最大的问题是这个错误也可能是由很多其他问题引起的. (5认同)

Mud*_*Ali 5

清除缓存和cookie(如果您正在测试或开发应用程序),请按以下步骤操作: -

try
{  
  $fb_user_info = $facebook->api('/me');
} catch (Exception $ex)
{
  $facebook->destroySession();
  $params = array(
      'scope' => 'YOUR_PERMISSIONS',
      'redirect_uri' => 'YOUR_SITE_URL'
  );
  $fb_login_url = $facebook->getLoginUrl($params);  
  header("Location:" . $fb_login_url);
}
Run Code Online (Sandbox Code Playgroud)