アプリの詳細設定でoffline_access権限の削除が有効になっています。
最初に次の関数を呼び出します。
public function app_login( $url_redirect=null ) {
$facebook = new Facebook(array(
'appId' => APP_ID,
'secret' => APP_SECRET,
'cookie' => true,
'fileUpload' => true
));
//check if redirection url specified
if( $url_redirect != null )
$go_to = $url_redirect;
else
$go_to = 'APP_URL';
$loginParams = array(
'scope' => 'publish_stream,user_activities,user_checkins,user_interests,user_location,manage_pages,email,read_insights,read_stream',
'redirect_uri' => $go_to
);
$login_url = $facebook->getLoginUrl( $loginParams );
if ( ! $facebook->getUser() ) {
echo '<script>window.top.location = "' . $login_url . '";</script>';
return true;
}
return $facebook;
}
$ facebookという値を返すと、次の呼び出しで拡張ユーザートークンを要求します。
$facebook->setExtendedAccessToken();
$extended_token = $facebook->getAccessToken();
$ extended_tokenをデータベースに保存してから、次のユーザーページを取得します。
$pages = @json_decode( FB_Actions::file_get_contents_curl( 'https://graph.facebook.com/' . $facebook->getUser() . '/accounts?access_token=' . $extended_token ) );
ページトークンをデータベースに保存します。後でそれらのトークンを使用しようとすると、トークンの有効期限が切れたという応答が返されます。
誰かが私の問題が何であるかについての考えを持っていますか?