2012-06-07 111 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

順便說一下,即使在FB文檔中,他們也建議只在當時詢問您需要的權限,然後在需要時請求更多權限。而且,如果只向用戶詢問與他們當前正在應用中執行的操作有關的權限,而不是被要求提供大量權限,那麼對用戶來說,這很可能對用戶更有意義,「以防萬一」。 – CBroe

+0

沒錯。但你必須得到一個新的令牌。你爲什麼要問兩次權限,並讓用戶重新認證Facebook? – franciscovalera

相關問題