2013-12-23 90 views
0

請求允許在我的應用程序使用範圍: 的oauth2:https://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profile避免在應用

當登錄電子,應用程序要求用戶許可「知道你在谷歌誰」。我討厭那種行爲,而且我更討厭那些文字。我會立即卸載會讓我「知道我是誰」的應用程序。而我想要實現的就是擁有一個經過驗證的用戶,以便他可以在服務器上調用方法(使用端點)。我甚至不想知道他的電子郵件,但谷歌未能提供這樣的功能:more here。 無論如何,有沒有什麼辦法通過在android-manifest中定義一些權限來擺脫這個問題?我添加了越來越多的權限,但它沒有幫助。目前我有:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.USE_CREDENTIALS" />  
<uses-permission android:name="android.permission.NETWORK" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.READ_PROFILE" /> 
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> 
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"/> 

而谷歌仍然要求在應用程序的權限。任何人都知道如何使用oauth2來驗證用戶,而不是在我的應用程序中通過谷歌強制彈出窗口請求許可?

+0

我將非常感謝任何可能幫助我解決此問題的提示和鏈接。我想在清單中定義我的所有權限,所以用戶不會在應用程序中感到困擾。 – user2855896

+0

爲什麼你問這些範圍,如果你不需要它們?! –

回答

0

@ M.Sameer:我問他們是因爲我需要知道我在處理什麼球員......但我想我會轉向不同的解決方案。

我不需要任何登錄,併爲新用戶提供唯一的ID和隨機密碼,在共享首選項中設置並在每個請求中發送,並對我的端點發出「未經授權的呼叫」。

Google針對Android + App Engine身份驗證提供的此解決方案令人rid目結舌,無法接受。如此多的麻煩來驗證用戶身份並獲得他的唯一用戶ID ......並且只能使用Google帳戶!與Facebook和其他提供商進行整合要困難多少。

它要求清單中的gazillion權限,在與用戶交互時要求更多的權限......我想知道的僅僅是識別用戶的數字。現在我將移除: GET_ACCOUNTS,USE_CREDENTIALS,READ_PROFILE,AUTHENTICATE_ACCOUNTS,ACCOUNT_MANAGER,刪除所有愚蠢的「我想知道你在Google上的人」,並大大提高用戶的遊戲體驗,因爲他不必輸入任何愚蠢的數據,只是即時播放,如果他想要改變密碼或記住我給他的密碼並從不同的設備登錄。

[UPDATE]

我實際上已經成功通過了這種驗證。問「知道你是誰」的問題出現了,因爲在新磁盤上安裝新系統並從舊磁盤引導eclipse後,它使用了存儲在新磁盤上的新調試密鑰,但我沒有很好地處理它。解決之後,主要問題就沒有了。我仍然需要「GET_ACCOUNTS」和「USE_CREDENTIALS」來對用戶進行唯一身份驗證,而且我對此感到非常不滿,但我認爲這無法幫助。