访问令牌不是在PHP PHP sdk5中生成的?

时间:2017-01-23 12:02:25

标签: php facebook facebook-graph-api

我正在尝试从最后一天发布用户时间线,为此我使用的是PHP PHP SDK5。我有两个文件,一个是fb-integration.php,第二个是login-callback.php

在fb-intergration.php中 - 我有以下代码,基本上是检查用户登录。

<?php
 session_start();
 require_once __DIR__ . '/src/Facebook/autoload.php';
 $fb = new Facebook\Facebook([
         'app_id' => '2426534xxxxxxxx',
         'app_secret' => 'dc36a92xxxxxxxxxxxxxxxxxxxxxxx',
         'default_graph_version' => 'v2.8',
]); 
 $helper = $fb->getRedirectLoginHelper();
 $permissions = ['email', 'publish_actions']; // optional
 $loginUrl = $helper->getLoginUrl('https://example.com/events/test/login-callback.php', $permissions);
 echo "<script>window.top.location.href='".$loginUrl."'</script>";
?>

在login-callback文件中 - 我有以下脚本:

<?php
 session_start();
 require_once __DIR__ . '/src/Facebook/autoload.php';
 $fb = new Facebook\Facebook([
   'app_id' => '2426534xxxxxxxx',
   'app_secret' => 'dc36a92xxxxxxxxxxxxxxxxxxxxxxx',
   'default_graph_version' => 'v2.8',
 ]);
$helper = $fb->getCanvasHelper();
    try {
        if (isset($_SESSION['facebook_access_token'])) {
            $accessToken = $_SESSION['facebook_access_token'];
        } else {
            $accessToken = $helper->getAccessToken();
        }
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
        // When Graph returns an error
        echo 'Graph returned an error: ' . $e->getMessage();
        exit;
    } catch(Facebook\Exceptions\FacebookSDKException $e) {
        // When validation fails or other local issues
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    }

if ($accessToken) {
  echo 'Successfully logged in!';
}else{
    echo 'Sorry not generated';
}
?>

每一次,我都会得到结果抱歉没有生成。 我在哪里做错了。为什么我的accesToken不生成?

0 个答案:

没有答案