Instagram PHP APIを使用するときにPHPがセッションを保存しないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/9305062

質問

ここにあるPHPライブラリを使用してInstagramアプリを作成しようとしています(それほど長くはありません。心配しないでください):

http://pastie.org/3391787

私は完全に機能する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メソッドが取得されていないことが1つしかありません。情報、

$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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top