【发布时间】:2013-11-27 04:27:06
【问题描述】:
我正在尝试使用 Android 应用程序为我的 Web 后端获取授权代码。根据cross-client authorization documentation,我应该调用GoogleAuthUtil.getAuthToken(),范围看起来像oauth2:server:client_id:<back-end client id>:api_scope:resource-1 resource-2
这是我形成范围的方式:
private String getOAuthScope() {
final String scope = "email openid";
return String.format("oauth2:server:client_id:%s:api_scope:%s",
GoogleOAuthData.GOOGLE_OAUTH_SERVER_CLIENT_ID, scope);
当我调用GoogleAuthUtil.getAuthToken() 时,我收到了INVALID_SCOPE 异常。形成范围的正确方法是什么?
【问题讨论】:
-
这不是问题的直接答案,但是......每当您遇到诸如此类的 oauth 问题时,我发现最好的调试技术是跟踪网络请求。您通常可以立即看到问题所在。对于 Android,这在此处进行了描述 code.google.com/p/google-http-java-client/wiki/HTTP
-
嘿@Ivan Gromov,这曾经对我有用,但就在几天前它停止工作,现在它抛出这个错误 com.google.android.gms.auth.GoogleAuthException: Unknown。知道为什么吗?我的瞄准镜有问题吗? gist.github.com/lawloretienne/7351151
-
相同的 GoogleAuthException:我未知。