未捕获的GraphMethodException:不支持的get请求

时间:2014-07-25 23:31:07

标签: php facebook facebook-graph-api

当我尝试从我的网站登录facebook时,会出现此错误

致命错误:未捕获的GraphMethodException:不支持的get请求。请阅读第1271行/home2/******/public_html/includes/facebook/base_facebook.php中引用的https://developers.facebook.com/docs/graph-api图表API文档

一开始,一切都很好。我没有改变任何事情。我该怎么做才能解决这个问题?

/**
Analyzes the supplied result to see if it was thrown
because the access token is no longer valid.  If that is
the case, then we destroy the session.

@param $result array A record storing the error message returned
                    by a failed API call.
**/
protected function throwAPIException($result) {
$e = new FacebookApiException($result);
switch ($e->getType()) {
// OAuth 2.0 Draft 00 style
  case 'OAuthException':
  // OAuth 2.0 Draft 10 style
  case 'invalid_token':
    // REST server errors are just Exceptions
  case 'Exception':
    $message = $e->getMessage();
    if ((strpos($message, 'Error validating access token') !== false) ||
        (strpos($message, 'Invalid OAuth access token') !== false) ||
        (strpos($message, 'An active access token must be used') !== false)
    ) {
      $this->destroySession();
    }
    break;
}

throw $e;
}

1 个答案:

答案 0 :(得分:0)

要求'../ src / facebook.php';

//创建我们的Application实例(将其替换为appId和secret)。

$ facebook = new Facebook(数组(

'appId'=> '344617158898614',   'secret'=> '6dc8ac871858b34798bc2488200e503d',

));

//获取用户ID

$ user = $ facebook-> getUser();

//我们可能会也可能不会根据用户是否已登录来获取此数据。

//如果我们在这里有$ user id,则表示我们知道用户已登录

// Facebook,但我们不知道访问令牌是否有效。访问

//如果用户退出Facebook,则令牌无效。

if($ user){

尝试{

// Proceed knowing you have a logged in user who's authenticated.

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

}

catch(FacebookApiException $ e) {     error_log中($ E);

$user = null;

}

}

//根据当前用户状态,将需要登录或注销网址。

if($ user)  {

$ logoutUrl = $ facebook-> getLogoutUrl();

}  其他 {

$ loginUrl = $ facebook-> getLoginUrl();

}

//这个调用将始终有效,因为我们正在获取公共数据。

$ naitik = $ facebook-> api('/ naitik');

>

<title>php-sdk</title>

<style>

  body 

{

    font-family: 'Lucida Grande', Verdana, Arial, sans-serif;

  }

  h1 a

{

    text-decoration: none;

    color: #3b5998;

  }

  h1 a:hover

{

    text-decoration: underline;

  }

</style>

<h1>php-sdk</h1>


<?php if ($user): ?>

  <a href="<?php echo $logoutUrl; ?>">Logout</a>

<?php else: ?>

  <div>

    Login using OAuth 2.0 handled by the PHP SDK:

    <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>

  </div>

<?php endif ?>



<h3>PHP Session</h3>

<pre><?php print_r($_SESSION); ?></pre>


<?php if ($user): ?>

  <h3>You</h3>

  <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">


  <h3>Your User Object (/me)</h3>

  <pre><?php print_r($user_profile); ?></pre>

<?php else: ?>

  <strong><em>You are not Connected.</em></strong>

<?php endif ?>

<h3>Public profile of Naitik</h3>

<img src="https://graph.facebook.com/naitik/picture">

<?php echo $naitik['name']; ?>