服务帐户从日历中获取错误 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 的暂时性问题。 现在所有服务帐户都可以使用。