현재 로그인 할 때 사용자의 벽에 게시 할 수있는 확장 권한을 요청하는 애플리케이션이 있습니다. 애플리케이션에 이러한 확장 된 권한을 로그인 할 때가 아니라 처음에 벽에 게시하고 싶다고 요청할 수 있습니까?내 사이트/앱에 로그인 한 후 Facebook에 대한 권한을 어떻게 요청할 수 있습니까?
1
A
답변
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
안타깝게도 할 수 없습니다.
일부 권한을 요청할 때 앱의 "범위"를 정의합니다. 따라서 사용자는 앱이 무엇을 할 수 있는지를 알 수 있습니다.
벽에 게시하고 추가하는 기능을 제거하려고 시도한 경우 추가하십시오. 첫 번째로 얻은 토큰이 처음 요청한 것에 대한 허가권을 가지고 있기 때문에이를 수행 할 수 없습니다.
, 당신은 항상 다른 작업을 수행하여 더 많은 권한을 요청할 수 있습니다 FB.login (또는 서버 측 방식)을 호출하십시오. 사용자가 이미 앱에 연결 한 경우 아직 부여되지 않은 권한에 대해서만 묻는 메시지가 표시됩니다. 이 호출은 액세스 토큰을 반환 할 것이고 새로 추가 된 권한 (이전의 권한을 포함하여)이 허용하는 모든 것을 수행 할 수 있습니다. – CBroe
그리고 btw. FB 문서에서도 그들은 필요한 순간에만 필요한 권한을 요청하고 나중에 필요할 경우 더 많은 권한을 요청합니다. 또한 많은 권한을 요청하는 대신 앱에서 현재 수행중인 작업에 어떻게 든 연결되어있는 권한에 대해서만 요청하는 경우 사용자에게 더 이해하기 쉽습니다 ". – CBroe
. 하지만 새로운 토큰을 얻어야합니다. 왜 권한을 두 번 물어보고 사용자가 facebook으로 다시 인증하게하려고합니까? – franciscovalera