服务帐户从日历中获取错误 API
Service Account getting error from Calendar API
我有两个用于执行日历 API 请求的服务帐户。
两者的生成方式相同,但两者之间存在细微差别。
第一个服务帐户的电子邮件地址以“@developer.gserviceaccount.com”结尾并且有效。
第二个服务帐户的电子邮件地址以“@project-id.iam.gserviceaccount.com”结尾,在对日历 API 执行请求后,我收到错误消息:
{
"code" : 400,
"errors" : [ {
"domain" : "usageLimits",
"message" : "Bad Request",
"reason" : "keyInvalid"
} ],
"message" : "Bad Request"
}
代码示例:
HttpTransport httpTransport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(service_account_email)
.setServiceAccountScopes(Arrays.asList("https://www.googleapis.com/auth/calendar"))
.setServiceAccountUser(user_email)
.setServiceAccountPrivateKeyFromP12File(
new java.io.File("key.p12")).build();
Calendar service = new Calendar.Builder(httpTransport, jsonFactory,
credential).setApplicationName("MyApp")
.build();
service.events().list("primary").execute();
任何想法可能是什么原因?
编辑:
当我尝试使用目录 API.
时也会出现此问题
这似乎是新服务帐户和 Google API 的暂时性问题。
现在所有服务帐户都可以使用。
我有两个用于执行日历 API 请求的服务帐户。
两者的生成方式相同,但两者之间存在细微差别。
第一个服务帐户的电子邮件地址以“@developer.gserviceaccount.com”结尾并且有效。
第二个服务帐户的电子邮件地址以“@project-id.iam.gserviceaccount.com”结尾,在对日历 API 执行请求后,我收到错误消息:
{
"code" : 400,
"errors" : [ {
"domain" : "usageLimits",
"message" : "Bad Request",
"reason" : "keyInvalid"
} ],
"message" : "Bad Request"
}
代码示例:
HttpTransport httpTransport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(service_account_email)
.setServiceAccountScopes(Arrays.asList("https://www.googleapis.com/auth/calendar"))
.setServiceAccountUser(user_email)
.setServiceAccountPrivateKeyFromP12File(
new java.io.File("key.p12")).build();
Calendar service = new Calendar.Builder(httpTransport, jsonFactory,
credential).setApplicationName("MyApp")
.build();
service.events().list("primary").execute();
任何想法可能是什么原因?
编辑:
当我尝试使用目录 API.
这似乎是新服务帐户和 Google API 的暂时性问题。 现在所有服务帐户都可以使用。