18

我使用https://www.googleapis.com/auth/userinfo.email範圍來獲取經過身份驗證的用戶的電子郵件地址。不過,雖然認證時,谷歌會提示用戶:單獨獲取電子郵件地址的範圍?

該應用程序想:

  • 知道你在Google+上的誰(對於這幫助圖標說:此應用請求允許您關聯與谷歌公開個人資料
  • 查看

我不想個電子郵件地址用戶的Google+相關信息。我正在使用OAuth2 authentication method。對於Authsub請求身份驗證,它只需要電子郵件地址訪問權限。我如何才能訪問用戶的電子郵件地址?

+0

你需要的可能是OpenID的 [OpenID和OAuth的區別] [1] [1] :http://stackoverflow.com/questions/1087031/whats-the-difference-between-openid-and-oauth – zinking

+2

你有沒有解決這個問題? (相關:[你爲什麼需要知道我在Google上認識的人?](http://meta.stackexchange.com/questions/234365/why-do-you-need-to-know-who-i-know- ) – Arjan

+0

不幸的是,@zinking,Google [在2015年4月棄用OpenID](https://developers.google.com/+/api/auth-migration#timetable)。 – Arjan

回答

2

如果使用Google+ Sign-In,該https://www.googleapis.com/auth/plus.login範圍自動包括在內,這是爲什麼你看到的權限對話框中的那部分。

如果您不需要Google+登錄功能附帶的增強功能,那麼您可能需要執行標準的OAuth流程。請參閱Google OAuth scenarios瞭解可能適合您的需求的解決方案,您只需要詢問電子郵件範圍即可。

+0

我沒有使用Google+登錄。我剛剛使用此鏈接進行身份驗證https://accounts.google.com/o/oauth2/auth?scope=https://adwords.google.com/api/adwords/%20https%3A%2F%2Fwww。 googleapis.com%2Fauth%2Fuserinfo.email&state =%2Fprofile&redirect_uri = https%3A%2F%2Foauth2-login-demo.appspot.com%2Fcode&response_type = code&client_id = 812741506391.apps.googleusercontent.com&approval_prompt = force – Barani

+6

我也看到了這個。無論使用Google+登錄還是任何G +服務,添加userinfo.email範圍現在都會在權限請求頁面上顯示「瞭解您在Google+上的人員」。 作爲服務提供商,我不需要知道用戶是誰。作爲用戶,我不希望Google鼓勵服務獲取或僅僅授予他們更多的訪問權限。 –

+1

+1。在我的情況下,我要求的唯一範圍是「電子郵件」,但系統會提示用戶「查看您的電子郵件地址」和「知道您在Google+上的人員」。潛在用戶的反饋意見是他們不想提供他們認爲是個人信息的訪問權限。 – pinoyyid

1

如果有人仍在尋找這個,我認爲這可能有幫助。在Google Sign In JS客戶端參考中的gapi.auth2.init方法中,將fetch_basic_profile設置爲false(默認情況下爲true)。現在,使用同樣的方法範圍PARAM指定 「電子郵件」, 「配置文件」 的權限