[英]Permissions Error - Trying to get friends using android facebook sdk
[英]Require additional permissions with Facebook Android SDK
我正在開發一個Android應用程序,允許用戶通過Facebook或Google+注冊。 使用Google+,我可以檢索用戶的電子郵件地址,但是使用Facebook,我需要其他權限。
我的布局中有一個LoginButton
,在“活動”代碼中,我已將其設置為請求電子郵件權限:
facebookLoginButton.setReadPermissions(Arrays.asList("email"));
只要用戶給予許可,就可以了。 但是,如果用戶撤銷了該操作,則我的應用程序將無法正常運行。 它需要電子郵件地址。
如果未授予許可,我會打電話給
Session.NewPermissionsRequest emailPermissionRequest = new Session.NewPermissionsRequest(this, Arrays.asList("email"));
session.requestNewReadPermissions(emailPermissionRequest);
這提示用戶授予電子郵件權限。 它仍然可以被撤消,此刻它一直在詢問它,直到被批准為止。
如何設置所需的權限? 我希望如果未授予該權限,則該用戶無法登錄。 散布權限對話框似乎很愚蠢。
您需要處理此人不想與您共享他的電子郵件地址的情況。 那是完全有效的。
如果您的應用程序確實依賴它,則可以在拒絕Facebook對話框后,例如創建本機表單以再次請求電子郵件。 或者,您需要調整您的應用程序使其不使用電子郵件地址。
如您所述,通過對話框發送垃圾郵件將不起作用(並且在被檢查時可能會注意到)。
一個可能的想法,盡管我不知道是否有先例。
在您的應用程序中創建一個首選項,例如, "Support Email Login"
。 當用戶單擊“登錄”按鈕並且尚未授予權限時,將其定向到您的首選項屏幕: "To support this feature, enable it in preferences"
然后,在您的首選項屏幕中,當用戶選中"Support Email Login"
復選框時,將拋出權限請求。 如果拒絕,則未設置任何權限,並且未選中該框。 如果他們接受,請選中該框,用戶可以返回並登錄。
這樣,功能/權限就可以由用戶配置,並且不會被權限請求所困擾。 如果他們要啟用該功能,他們只會直接轉到首選項屏幕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.