将oauth范围替换为description / declare权限

时间:2013-07-03 05:57:09

标签: android oauth permissions accountmanager

说明:

所以我使用accountManager来获取我需要的令牌:

am.getAuthToken(account,
    scope,
    null,
    this,
    new OnTokenAcquired(),
    new Handler(new OnError()));

当我使用“查看您的任务”作为范围时(就像它描述的那样here)Android会显示一个权限请求并告诉我的应用程序要求“查看您的任务” ”

我需要使用“ oauth2:https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile ”作为范围。当我这样做时,Android 将这些网址替换为我找到的人类可读描述here

问题:

  1. 是否有强制Android将scope替换为Google定义的自定义说明或说明?
  2. 无论如何都要声明自定义permission并在manifest中使用它,以便Android会要求用户许可(例如“查看您的电子邮件地址”和“查看有关您帐户的基本信息” )在安装过程中?
  3. 有没有办法实现我想要实现的目标?
  4. 我想要实现的目标:

    我只是想请求我需要的权限,以便用户能够了解我要求的权限类型。

    感谢。

1 个答案:

答案 0 :(得分:0)

  

无论如何都要强制Android用自定义替换范围   由Google定义的描述或描述?

不可以使用自定义说明。当您在低于4的Android版本上使用Oauth2范围时(我认为,我不确定3),确切的范围将显示给用户而不是更友好的用户。在Android 4及更新版本中,您将获得描述,因此此描述似乎是Android本身的一部分。

Is there any way achieve what I'm trying to achieve?

您可以尝试使用Google Play的GoogleAuthUtil代替帐户管理器,因为它可以提供更好的用户体验。有关使用客户经理和GoogleAuthUtil的比较,请参阅:In a nutshell what's the difference from using OAuth2 request getAuthToken and getToken