为什么不;t使用instagram PHP API时保存PHP会话


Why Doesn't PHP save Sessions when using the instagram PHP API?

我正试图使用这里的php库创建一个instagram应用程序(它不是很长的文件,不用担心):

http://pastie.org/3391787

我正试图通过使用OAUTH来授权用户,这非常有效,被授权的(当前用户)可以看到他的信息(如图像、姓名等),但当我刷新页面时,所有信息都会消失,我只剩下空白数据,这就是代码-

// Instantiate the API handler object
$instagram = new Instagram($config);
$accessToken = $instagram->getAccessToken();
$_SESSION['InstagramAccessToken'] = $accessToken;
$instagram->setAccessToken($_SESSION['InstagramAccessToken']);
$userinfo = $instagram->getUser($_SESSION['InstagramAccessToken']);
// After getting the response, let's iterate the payload
$ures = json_decode($userinfo, true);

这段代码第一次运行得很好,但当你刷新页面时,信息没有被检索到,这只能意味着一件事,即会话或cookie设置不正确,这就是getUser方法没有检索信息的原因,

$userinfo = $instagram->getUser($_SESSION['InstagramAccessToken']);

请你解释一下这个问题,我已经试了4个小时了!!

在每次请求时,您都会通过以下行覆盖当前会话数据:

$_SESSION['InstagramAccessToken'] = $accessToken;

最有可能的情况是:

$instagram = new Instagram($config);
if (!empty($_SESSION['InstagramAccessToken'])) {
    $accessToken = $instagram->getAccessToken();
    $_SESSION['InstagramAccessToken'] = $accessToken;
} else {
    $instagram->setAccessToken($_SESSION['InstagramAccessToken']);
}
$userinfo = $instagram->getUser($_SESSION['InstagramAccessToken']);
// After getting the response, let's iterate the payload
$ures = json_decode($userinfo, true);