【问题标题】:Getting user email from Google Plus authentication, without GET_ACCOUNTS permission通过 Google Plus 身份验证获取用户电子邮件,无需 GET_ACCOUNTS 权限
【发布时间】:2013-07-07 11:42:55
【问题描述】:

用户使用 G+ 帐户进行身份验证后是否可以检索用户的电子邮件地址(使用 G+ Android SDK)? 我知道如果您请求 GET_ACCOUNTS 权限,您可以这样做,但是我不需要 G+ 登录...

【问题讨论】:

    标签: android single-sign-on google-plus


    【解决方案1】:

    如果您只需要电子邮件地址(实际上并不对该帐户进行任何操作),您可以使用AccountPicker 允许用户选择 Google 帐户。

    请注意,如果设备上只有一个 Google 帐户,您会立即得到回复,而不会介入对话。

    【讨论】:

    • 谢谢!打算试试。跟 G+ SDK 有关系吗?
    • @RonenYacobi - 唯一的关系是它们都是 Google Play 服务的一部分,因此您仍然必须遵循相同的 Google Play Services Setup steps
    • 请注意,我认为这个不需要GET_ACCOUNTS 权限的API 是一个错误,将在某个时候进行修补。如果想要获取用户的帐户信息,例如他们的电子邮件地址,我仍然会添加GET_ACCOUNTS 权限,只是为了安全起见,并且对用户公开和诚实地了解您的应用正在做什么。
    • @TimBray - 当然,除非只有一个帐户,否则用户根本无法进行交互,但应用程序拥有用户的电子邮件地址(或任何其他服务的帐户名)允许应用程序获取如果用户看到对话框或看到GET_ACCOUNTS 安装权限,他们通常不会提供应用程序的信息。我已经在this Google+ post 上就此展开了讨论
    • 请注意,在最新版本的 Google Play 服务中,如果您只有一个帐户并且不包括 GET_ACCOUNTS 权限,那么 logcat 会给出以下警告:The calling package does not have the android.permission.GET_ACCOUNTS permission. Will display Chooser. 并且选择器是显示。如果您确实拥有GET_ACCOUNTS 权限,则如果只有一个帐户可供选择,则不会显示选择器。
    猜你喜欢
    • 2020-01-07
    • 2019-05-01
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 2021-12-28
    相关资源
    最近更新 更多