3

我正在尝试在我的一个端点中访问用户,但无法从 Android 中获得魔法。该文档似乎处于某种损坏的状态,看看它是如何从受信任的测试程序过渡的,而且我看到的信息相互矛盾,所以我希望这里有人可以帮助我。

我在 API 控制台中为 Android 创建了我的客户端 ID。我将其指定为端点中的客户端 ID 和受众,如下所示:

@Api(
name = "tictactoe",
clientIds = {"myAndroidClientId.apps.googleusercontent.com"},
audiences = {"myAndroidClientId.apps.googleusercontent.com"}
)

在我的 Android 活动中,我正在创建我的凭据:

credential =  GoogleAccountCredential.usingAudience(this, "server:client_id:myAndroidClientId.apps.googleusercontent.com");
credential.setSelectedAccountName(myAccountName);

并在 AsyncTask 中进行网络调用之前使用它来构建我的服务:

Builder builder = new MyService.Builder(transport, jsonFactory, credential);
MyService service = builder.build();
thing = service.things().get().execute();

然后引发此异常:

com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAuthIOException
Caused by: 
com.google.android.gms.auth.GoogleAuthException: Unknown
com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:192) 
com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:217)

在此先感谢您的帮助!

4

1 回答 1

4

弄清楚我哪里出错了:

您必须在 @API 和 Android 中将 WEB 客户端 ID 指定为受众。android 客户端 ID 仅在 @API clientIds 中使用。

于 2013-02-19T01:04:38.077 回答