Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么';使用instagram PHP API时是否保存PHP会话?_Php_Json_Api_Oauth_Instagram - Fatal编程技术网

为什么';使用instagram PHP API时是否保存PHP会话?

为什么';使用instagram PHP API时是否保存PHP会话?,php,json,api,oauth,instagram,Php,Json,Api,Oauth,Instagram,我正在尝试使用这里的php库创建instagram应用程序(它的文件不是很长,不用担心): 我试图通过使用OAUTH来授权用户,它工作得很好,授权用户(当前用户)可以看到他的信息(如图像、名称等),但当我刷新页面时,所有信息都会消失,留下空白数据,代码如下- // Instantiate the API handler object $instagram = new Instagram($config); $accessToken = $instagram->getAccessToken

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

我试图通过使用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);

谢谢你的回答,我试过了,但现在它说用户不存在,这是instagram api的消息!不过,我完全同意在每个请求上都使用压倒一切的会话!!!:)“我试过了,但现在它说用户不存在”——显然这已经是另一个问题了。我在回答中表达的主要思想是,您需要从API或会话中检索令牌。