ユーザーページを取得しようとしています:
<?php
try {
$pages = $facebook->api('/me/accounts?fields=id,name');
if (isset($pages['data'])) {
$this->assign('pages', $pages['data']);
$this->pages = $pages['data'];
}
} catch (\FacebookApiException $e) {
$loginUrl = $facebook->getLoginUrl(
array(
'redirect_uri' => $this->container->getParameter('home_url'),
'scope' => 'email,manage_pages'
)
);
echo '<script type="text/javascript">top.location.href = "'.$loginUrl.'";</script>';
exit;
}
しかし、私は無限のリダイレクトループに飛び込みます。getAccessTokenFromCode
いくつかの調査の結果、PHP SDK がメソッド内の API からエラーを取得することがわかりました。$access_token_response
変数は次のとおりです。
{"error":{"message":"This authorization code has expired.","type":"OAuthException","code":100}}
PHP SDK はcode
COOKIE から値を取得します。問題は、fbsr_{app_id}
フラッシュされず、同じコードが含まれていることです。そしてそれが無限ループの理由です。
この問題を克服するにはどうすればよいですか。Cookieを削除しようと考えてfbsr_{app_id}
いましたが、どうもおかしいようです。SDK がこれを処理しないのはなぜですか?