在page使用google-api-java-client,我们可以阅读一些流量。
服务帐户流程适用于日历api:
GoogleCredential credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("[[]]")
.setServiceAccountScopes(CalendarScopes.CALENDAR)
.setServiceAccountPrivateKeyFromP12File(new File("key.p12")).build();
但我们总是:
503 Service Unavailable
{
"code" : 503,
"errors" : [ {
"domain" : "global",
"message" : "Backend Error",
"reason" : "backendError"
} ],
"message" : "Backend Error"
}
如果我们使用GroupssettingsScopes.APPS_GROUPS_SETTINGS
(此请求的api控制台授予访问权限)。
我们必须使用旧的2脚OAuth 1.0a附近的机制来管理GApps帐户的组。
非常感谢提前
答案 0 :(得分:0)
使用群组设置API,您需要模拟Google Apps用户。该用户需要成为管理员。
此外,我个人注意到最好将服务帐户ID提供给setServiceAccountId()
方法。
这对我有用:
GoogleCredential credential = new GoogleCredential.Builder().setTransport(new NetHttpTransport())
.setJsonFactory(new GsonFactory())
.setServiceAccountId("516444413363-4i0cvva2abc8a3t63bbq1a9rfqe42p70@developer.gserviceaccount.com")
.setServiceAccountScopes(Collections.singletonList("https://www.googleapis.com/auth/apps.groups.settings"))
.setServiceAccountUser("admin@my.doma.in")
.setServiceAccountPrivateKeyFromP12File(new File("key.p12")).build();