当使用Instagram PHP API时,为什么PHP不保存会话?
题
我正在尝试使用此处的PHP库创建Instagram应用程序(它不是很长的文件,不用担心):
我正在尝试通过使用OAuth来授权用户,该oauth可以完美地工作,并且授权(当前用户)可以看到他的信息(例如图像,名称等),但是当我刷新页面时m留没有空白数据,这是代码 -
// 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);
不隶属于 StackOverflow