【问题标题】:Facebook PHP SDK - Graph returned an error: Invalid OAuth access tokenFacebook PHP SDK - 图表返回错误:无效的 OAuth 访问令牌
【发布时间】:2018-04-11 23:07:34
【问题描述】:

这是我的代码:

login.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>';

这是我的 login-callback.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'];

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

Graph returned an error: Invalid OAuth access token.

谁能告诉我我的错误在哪里,我该如何解决这个问题?

【问题讨论】:

    标签: php facebook facebook-graph-api


    【解决方案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) { 
    ...
    

    看看here

    【讨论】:

    • 现在当我返回我的网站时收到以下错误: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.
    • 是的,抱歉,忘记了$accessToken 中的$。疯狂编辑。
    • 现在我收到以下错误:Facebook SDK returned an error: Cross-site request forgery validation failed. Required param "state" missing.你能给我任何建议吗?
    【解决方案2】:

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

    仅在

    中添加您的回调 URL

    $helper = $fb->getRedirectLoginHelper();

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

    它在我身上工作..

    【讨论】:

    • 这真的解决了原来的问题吗?您的错误消息看起来不同
    • 对我不起作用,添加重定向网址时显示相同的错误。
    猜你喜欢
    • 2016-11-15
    • 2018-09-24
    • 2019-04-28
    • 1970-01-01
    • 2012-06-22
    • 2016-01-06
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多