2011-05-05 225 views
5

我開發了一個應用程序,它要求來自用戶的權限來訪問他們的基本信息。一旦他們接受了請求權限對話框,它就會進入他們的Facebook設置以允許我的應用訪問他們的基本信息。例如,第一次後,我的應用程序將不會顯示請求權限對話框,因爲它已保存在用戶的Facebook設置中。每次請求facebook權限

是否有可能阻止這種情況發生並且每次都要求他們的許可,而不會將設置保存到Facebook的用戶設置部分?

回答

2

我不認爲這是可能的,

用戶允許後你的應用程序,Facebook的把它添加到用戶的應用程序。

然後它就在那裏,用戶不必再批准它,當你再次要求權限時,Facebook發現它已被批准並跳過權限對話框。再次查看此對話框的唯一方法是讓用戶在其設置中刪除應用程序權限。所以下一次他將不得不再次接受它。

無論如何,你爲什麼要再次顯示這個權限對話框,這是用戶使用你的應用程序最大的障礙之一(用戶不喜歡它,並且當他們看到這個對話框時會停止,並且永遠不會回來)。其實它在Facebook的文檔某處指出,更多的權限,你問,少的用戶會接受並使用你的應用程序...

+0

我之所以想這樣做的原因是爲了給用戶更安全的感覺,並給他們控制的感覺,也就是說,只有當他們檢查我的應用程序中的選項時,應該每次都要求權限,如果複選框未被選中,它應該執行默認設置,即保存權限並且只詢問一次。 – oshirowanen 2011-05-05 10:35:06

+0

@oshirowanen是的,我不認爲這是可能的...再次顯示權限對話框的唯一方法是更改​​你問的權限列表,甚至用它只顯示你添加到列表中的任何Facebook這裏的人知道一種方式? – dwarfy 2011-05-05 10:40:51

+0

您只需模擬對話框的權限,製作自己的圖標和文字,或者只是將它們放在側面,即可注意「我們正在重新訪問您的數據」。無論如何,Facebook的隱私設置已經顯示應用程序最後一次訪問您的信息的時間。 – dragonjet 2011-05-05 12:21:25

2

您可以完全解除授權的應用程序,或者只是撤銷代表 特定的權限通過發送一個HTTP DELETE到 PROFILE_ID /權限或PROFILE_ID /權限/ PERMISSION_NAME分別爲 。此請求必須使用當前應用的值用戶access_token 進行。

http://developers.facebook.com/docs/reference/api/user/

即撤銷電子郵件的權限:帖子刪除要https://graph.facebook.com/me/permissions/email

使用REST API(遺留),你可以做到這一點在前端:

FB.api({method:'auth.revokeExtendedPermission', perm:'user_photos'}); 

你可以再問問再次訪問權限(FB.Login),它會提示他們獲得權限。