2012-06-07 2 views

답변

2

FB.ui() 메서드를 호출하기 전에 current_permissions를 요청하고 확장 된 권한으로 확장 할 수있는 계층 적 워크 플로를 만들 수 있습니다. 이를 위해 당신은 할 수있는 당신을 위해 이것을 관리 할 수있는 다음과 같은 구성 요소를 보면 : 여기 http://www.facebook.com/pages/Helper-Component-Community/222933037808340?sk=app_412923142052609

같은 워크 플로를 만드는 예 : 넌센스

var publishStreamDummy = function() { 

    // user granted the permission to stream publish ... so we call an FB.ui dialog 
    FB.ui({ 
     yourUiParams   
     },  
     function(response) { 
      if(typeof response['post_id'] != 'undefined') 
       // posted 
      else 
       // post failed 
     } 
    ); 
} 
// the deny-callback 
var publishStreamDenied = function() { 
    // the user denied the publish 
} 

    // check permission and save access token via ajax 
    fbHelper.loginAndSave('publish_stream', 'general', 
          { func : publishStreamDummy, 
           params : null, 
           cufa : true 
          } , 
          { func : publishStreamDenied, 
           params : null, 
           cufa : true 
          } 
         ); 
0

안타깝게도 할 수 없습니다.

일부 권한을 요청할 때 앱의 "범위"를 정의합니다. 따라서 사용자는 앱이 무엇을 할 수 있는지를 알 수 있습니다.

벽에 게시하고 추가하는 기능을 제거하려고 시도한 경우 추가하십시오. 첫 번째로 얻은 토큰이 처음 요청한 것에 대한 허가권을 가지고 있기 때문에이를 수행 할 수 없습니다.

+0

, 당신은 항상 다른 작업을 수행하여 더 많은 권한을 요청할 수 있습니다 FB.login (또는 서버 측 방식)을 호출하십시오. 사용자가 이미 앱에 연결 한 경우 아직 부여되지 않은 권한에 대해서만 묻는 메시지가 표시됩니다. 이 호출은 액세스 토큰을 반환 할 것이고 새로 추가 된 권한 (이전의 권한을 포함하여)이 허용하는 모든 것을 수행 할 수 있습니다. – CBroe

+0

그리고 btw. FB 문서에서도 그들은 필요한 순간에만 필요한 권한을 요청하고 나중에 필요할 경우 더 많은 권한을 요청합니다. 또한 많은 권한을 요청하는 대신 앱에서 현재 수행중인 작업에 어떻게 든 연결되어있는 권한에 대해서만 요청하는 경우 사용자에게 더 이해하기 쉽습니다 ". – CBroe

+0

. 하지만 새로운 토큰을 얻어야합니다. 왜 권한을 두 번 물어보고 사용자가 facebook으로 다시 인증하게하려고합니까? – franciscovalera