我需要访问Compute Engine的API。我可以通过SDK来做到这一点,但我想使用API。 我正在尝试遵循以下指示: https://cloud.google.com/iap/docs/authentication-howto 但是,当我尝试访问API时,会得到:
com.google.api.client.http.HttpResponseException: 400 Bad Request
{
"error": "invalid_scope",
"error_description": "<my private key id> is not a valid audience string."
}
在这一行中,我提供了iapClientId的私钥ID:
String jwt = getSignedJwt(credentials, iapClientId);
对于范围,我正在使用https://www.googleapis.com/auth/cloud-platform
谢谢!
P.S。我使用Java作为语言
答案 0 :(得分:0)
您可以使用these instructions来说明如何通过使用environment variable或指定credentials manually来创建默认凭证来进行API调用。
此外,您可以遵循this code来使用应用程序默认凭据。该文档也有一些示例,也可以将Java客户端也用于Compute Engine。