私は自分のウェブサイトで facebook ログインを使用しています
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'XXX', // App ID from the App Dashboard
channelUrl : 'XXX/channel.php', // Channel File for x-domain communication
cookie : true, // set sessions cookies to allow your server to access the session?
frictionlessRequests: true
});
};
問題は、Web サイトから 10 ~ 20 分ごとにログアウトされることです。サイトがリロードされず、再度ログインしました。どうにかしてクッキーが削除されると思います。
そのクッキーをより長く存在させる方法はありますか?
私のログインは次のようになります。
FB.login(function(response) {}, {scope:'publish_actions'});
アップデート:
スクリプトのこの部分は、ユーザーが初めてログインしたときに呼び出されます。
// triggers on first login
if (isset($_GET['first_login'])) {
if ($me) {
$facebook->setExtendedAccessToken();
$friends = $facebook->api('/me/friends');
$friends = $friends['data'];
if (!empty($friends)) {
// sql
}
$permissions = $facebook->api("/me/permissions");
if( array_key_exists('publish_actions', $permissions['data'][0]) ) {
$attachment = array(
'message' => 'XXX',
'name' => 'XXX - App',
'link' => 'XXX',
'description' => 'XXX',
'picture'=> 'XXX',
'access_token' => $facebook->getAccessToken()
);
$facebook->api('/'.$facebook->getUser().'/feed', 'POST', $attachment);
// sql
}
header('Location: http:/xxx');
}
}
しかし、私はエラーが発生します
致命的なエラー: Uncaught OAuthException: (#1) 1254 行目の /facebook/base_facebook.php でスローされた共有の作成中にエラーが発生しました
原因は$facebook->api('/'.$facebook->getUser().'/feed', 'POST', $attachment);
link
から -attributeを削除すると、機能し$attachment
ます。リンク属性禁止か何か?