나는 내 웹 사이트 문제가내 웹 애플리케이션 (페이스 북의 로그인을 사용하여이)
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
});
};
에 페이스 북의 로그인을 사용하여 저를 로그 아웃, 내 웹 사이트의 모든 ~ 10-20min에 로그 아웃 얻을. 다시로드하는 사이트가 아니라 다시 로그인했습니다. 어떻게 든 쿠키가 삭제 될 것 같습니다.
쿠키가 더 이상 존재하도록 만드는 방법이 있습니까?
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');
}
}
하지만
내 로그인은 같다 오류가 발생했습니다
내Fatal error: Uncaught OAuthException: (#1) An error occured while creating the share thrown in /facebook/base_facebook.php on line 1254
$attachment
에서
link
-attribute를 제거하면
$facebook->api('/'.$facebook->getUser().'/feed', 'POST', $attachment);
에 의해 발생
, 그것은 작동합니다. 링크 속성이 금지 되었습니까?
감사합니다. 나는 그것을 찾았고 장기간 액세스 토큰 (60 일간 지속)을 받았습니다. 어딘가에 데이터베이스에 저장해야합니까, 아니면 60 일 동안 현재 로그인 한 사용자입니까? – Chris
문서에 따르면 "이 끝점의 응답에는 오래 지속되는 액세스 토큰이 포함될 것입니다. 원래 토큰과 다른 문자열이므로이 토큰을 저장하는 경우 이전 토큰을 교체하십시오." 내게 당신이 쿠키 또는 다른 곳에 저장할 수 있음을 의미합니다. – TommyBs
내 업데이트 된 질문을 살펴보십시오. – Chris