我正在尝试在我的一个端点中访问用户,但无法从 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)
在此先感谢您的帮助!