当我尝试从我的网站登录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;
}
答案 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']; ?>