2011-10-23 96 views
0

我使用此代碼爲應用驗證新的認證獲得通過禁用用戶:Facebook應用的權限請求使用

//Obtain the access_token with publish_stream permission 
if(empty($_REQUEST["code"])){ 
    $dialog_url= "http://www.facebook.com/dialog/oauth?" 
    . "client_id=" . $app_id 
    . "&redirect_uri=" . urlencode($post_login_url) 
    . "&scope=publish_stream,user_birthday"; 
    echo("<script>top.location.href='" . $dialog_url 
    . "'</script>"); 
} 
else { 
     $code = $_REQUEST["code"]; 
    $token_url="https://graph.facebook.com/oauth/access_token?" 
    . "client_id=" . $app_id 
    . "&client_secret=" . $app_secret 
    . "&code=" . $code 
    . "&redirect_uri=" . urlencode($post_login_url); 
    $response = file_get_contents($token_url); 
    $params = null; 
    parse_str($response, $params); 
    $access_token = $params['access_token']; 
} 

在新的Facebook的身份驗證,用戶必須選擇的一個選項許可請求並在點擊「登錄」按鈕後取消它。例如,用戶可以禁用對publish_stream或user_birthday訪問的請求,並仍然登錄到我的應用程序。 我看到Zynga和其他許多人仍然在使用,看起來老的認證請求,如:

http://i.stack.imgur.com/ESigT.png(一些圖片,我在網上找到)

但由於某些原因,在過去2周我的要求對於權限對話框更改爲新的: http://i52.tinypic.com/qstm6g.png(我在網上找到了一些圖片)

如何將其切換回舊權限對話框?這是隻有一個單一的對話框,而不是2-3對話框,直到用戶登錄到我的應用程序。

回答

0
  1. 我不確定新應用是否可以切換回來,即使可以...也不推薦,因爲所有應用都將立即遷移到新應用。
  2. 即使使用Zynga應用程序,用戶也可以始終從他/她的應用程序隱私設置中撤銷這些權限
  3. 您需要處理權限被撤銷時的情況。這在這個博客post解釋。
+0

但我看到許多人創建新的應用程序仍然會得到舊的權限對話框,爲什麼? –

+0

也許他們已禁用* Enhanced Auth Dialog *選項。同樣,**你**應該處理這種情況,當用戶撤銷權限**而不是**試圖隱藏它! :-) – ifaour

+0

如果生病禁用增強型身份驗證對話框會發生什麼情況?是否會在不久的將來成爲Facebook唯一的選擇(默認)?謝謝 –