0

当我访问 index.php 时,一切正常,我看到 acces_token 出现在会话变量中。

但是,当我单击链接转到新页面并单击(在新页面上)返回 index.php 的链接时,access_token 会更改为更短的令牌,从我的 appId 开始.

(编辑:我刚刚发现这个较短的令牌是这样的:appid|appsecret)

我尝试链接到 index.php 的精确副本,并且发生了同样的事情。好像没有创建新的 facebook 实例,或者其他什么......为什么没有创建新的 access_token?

下面是我的代码。你会注意到我没有让用户登录我的应用程序。这是因为这部分是通过 Javascript SDK 在另一个页面上完成的。

我一直在寻找几个小时......提前感谢您的建议。

索引.php

<?php
include "config.php";
require "ok.php";

?>
<br/><br/>
<a href="link.php">Link.</a>
<br/><br/>
<?php


$user = $facebook->getUser();

$userInfo = $facebook->api("/$user");

?>
<?php d($user); ?>
<strong>PHP Session</strong>
<?php d($_SESSION); ?>

?>

好的.php

<?php

    $fbconfig['appid' ] = "###";
    $fbconfig['secret'] = "###";

    $user            =   null;
    try{
        include_once "facebook.php";
    }
    catch(Exception $o){
        echo '<pre>';
        print_r($o);
        echo '</pre>';
    }

    $facebook = new Facebook(array(
      'appId'  => $fbconfig['appid'],
      'secret' => $fbconfig['secret'],
      'cookie' => true,
    ));


    function d($d){
        echo '<pre>';
        print_r($d);
        echo '</pre>';
    }
?>

配置文件

<?php
session_start();

//We log to the DataBase
mysql_connect('...', '...', '...');
mysql_select_db('...');

?>
4

0 回答 0