こんにちは私はここで答えを見ました http://facebook.stackoverflow.com/questions/8982025/how-to-extend-access-token-validity-since-offline-access-deprecation そしてそれを試してみましたが私はそれを動作させるのに問題があります。
期限切れのトークンがありますが、明らかにそれを自動更新する方法が必要です。これは可能ですか誰かが私にいくつかのコードを滑らせることができます
現在、これを試しています
try {
$result = $facebook->api(
'/me/permissions/',
'get',
array('access_token' => $token)
);
}
catch(FacebookApiException $e) {
echo "token invalid";
$facebook->setAccessToken($token);
echo $facebook->getExtendedAccessToken();
}
しかし、私はまだ得ます
token invalid{"error":{"message":"Error validating access token: Session has expired at unix time 1338858000. The current unix time is 1338985046.","type":"OAuthException","code":190,"error_subcode":463}}
どんな助けでも。ありがとうリチャード
こんにちは、あなたの助けに感謝します。私は拡張されたものを機能させることができ、もう少し理解しています-私のトークンが無効になるというフォローアップの質問があります-それではどうしますか?私はまだFacebookにログインしていて、アプリに許可を与えているので、新しいキーが必要です。
私はこれを試しました
$facebook = new Facebook(array(
'appId' => FACEBOOKAPPID,
'secret' => FACEBOOKSECRET,
'cookie' => true,
));
$url = $facebook->getLoginUrl(array('canvas'=>1,'fbconnent'=>1,'scope'=>'offline_access,publish_stream,email,user_about_me,user_birthday,user_website'));
file_get_contents($url);
$fb_session = $facebook->getUser();
echo $fb_session.'<br />';
$token = $facebook->getExtendedAccessToken();
echo $token.'<br />';
詳細を再度取得するには、Facebookに「ログイン」する必要があるようですが、Facebookにはマシン上にあるCookieが必要なため、file_get_contentsを使用できないようです。私はこれをオンザフライで実行しようとしているので、ポップアップでユーザーを煩わせないようにしています。また、ユーザーはすでにアプリに許可を与えています。
何か案は?リチャード
ああ、これを行うだけでもうまくいかないようです。
$facebook = new Facebook(array(
'appId' => $this->fbApiKey,
'secret' => $this->fbSecretKey,
'cookie' => true,
));
$token = $facebook->getAccessToken();