Facebook PHP SDK - Graph 返回错误:无效的 OAuth 访问令牌

Facebook PHP SDK - Graph returned an error: Invalid OAuth access token

提问人:Venelin 提问时间:11/23/2015 最后编辑:aydinugurVenelin 更新时间:4/11/2018 访问量:23423

问:

这是我的代码:

登录名 .php:

<?PHP
require_once __DIR__ . '/Facebook/autoload.php';

$fb = new Facebook\Facebook([
  'app_id' => '',
  'app_secret' => '',
  'default_graph_version' => 'v2.2',
  ]);

$helper = $fb->getRedirectLoginHelper();
$permissions = ['email','public_profile']; // optional
$loginUrl = $helper->getLoginUrl('http://www.sportsector.bg/login-callback.php', $permissions);

echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';

这是我的登录回调.php:

<?PHP
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
session_start();
require_once __DIR__ . '/Facebook/autoload.php';
$fb = new Facebook\Facebook([
  'app_id' => '',
  'app_secret' => '',
  'default_graph_version' => 'v2.2',
  ]);


try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get('/me?fields=id,name', '{access-token}');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

$user = $response->getGraphUser();

echo 'Name: ' . $user['name'];

当我点击链接时,我被重定向到 Facebook,我必须点击继续。之后,我回到我的网站上,收到以下错误:Login with Facebook!

Graph returned an error: Invalid OAuth access token.

有人可以告诉我我的错误在哪里,我该如何解决这个问题?

php facebook-graph-api

评论


答:

10赞 Axel Amthor 11/23/2015 #1

您没有检索到有效的访问令牌。

改变:

$fb = new Facebook\Facebook([
  'app_id' => '',
  'app_secret' => '',
  'default_graph_version' => 'v2.2',
  ]);


$helper = $fb->getRedirectLoginHelper();  

try {  
  $accessToken = $helper->getAccessToken();  
  $response = $fb->get('/me?fields=id,name', $accessToken );
  ....
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
...

这里

评论

0赞 Venelin 11/23/2015
现在,当我回到我的网站时,我收到以下错误:Notice: Use of undefined constant accessToken - assumed 'accessToken' in /var/www/html/sportsector.bg/login-callback.php on line 19 Graph returned an error: Invalid OAuth access token.
0赞 Axel Amthor 11/24/2015
是的,对不起,忘记了.疯狂的编辑。$$accessToken
0赞 Venelin 11/29/2015
现在我收到以下错误:你能给我任何建议吗?Facebook SDK returned an error: Cross-site request forgery validation failed. Required param "state" missing.
0赞 Aamir Khan 4/11/2018 #2

错误:
Facebook SDK 返回错误:未从 Graph 返回访问令牌。

仅将您的回拨 URL 添加到

$helper = $fb->getRedirectLoginHelper();

$helper = $fb->getRedirectLoginHelper('http://www.sportsector.bg/login-callback.php');

这是我的工作形式..

评论

1赞 Nico Haase 4/11/2018
这真的解决了原来的问题吗?您的错误消息看起来有所不同
0赞 JenuJ 9/6/2018
对我不起作用,添加重定向 url 时显示相同的错误。