2013-04-05 2 views
0

나는 내 웹 사이트 문제가내 웹 애플리케이션 (페이스 북의 로그인을 사용하여이)

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);

에 의해 발생

, 그것은 작동합니다. 링크 속성이 금지 되었습니까?

답변

1

당신은 (아마도 귀하의 코드를 결합하여

https://developers.facebook.com/docs/howtos/login/extending-tokens/

그러나이 때문에 자바 스크립트하지만 서버 측 언어뿐만 아니라해서는 안 응용 프로그램의 비밀을 사용하는 페이스 북의 액세스 토큰을 확장을 조사한다 php-sdk)

+0

감사합니다. 나는 그것을 찾았고 장기간 액세스 토큰 (60 일간 지속)을 받았습니다. 어딘가에 데이터베이스에 저장해야합니까, 아니면 60 일 동안 현재 로그인 한 사용자입니까? – Chris

+0

문서에 따르면 "이 끝점의 응답에는 오래 지속되는 액세스 토큰이 포함될 것입니다. 원래 토큰과 다른 문자열이므로이 토큰을 저장하는 경우 이전 토큰을 교체하십시오." 내게 당신이 쿠키 또는 다른 곳에 저장할 수 있음을 의미합니다. – TommyBs

+0

내 업데이트 된 질문을 살펴보십시오. – Chris

관련 문제