【发布时间】:2016-10-11 01:18:30
【问题描述】:
错误:
com.google.api.client.auth.oauth2.TokenResponseException: 400 错误请求 { “错误”:“无效范围”, "error_description" : "https://www.googleapis.com:22230/auth/admin.directory.user 不是有效范围。" }
我们在 WAS 中部署了一个 java 应用程序,它将使用 Google Directory API。 WAS 位于应用层,不允许访问 Internet 上的 Google API。因此,网络团队打开了一个 SSH 隧道,以便 WAS 可以通过与默认 ssl 端口 443 不同的端口 (22230) 访问 Google API。更新了 java 代码以使用新端口的范围值,但最终以“上面提到的 invalid_scope 错误。
SCOPES = Arrays.asList(""https://www.googleapis.com:22230/auth/admin.directory.user"); 凭据 = 新的 GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(jsonFactory) .setServiceAccountUser(properties.getProperty(ACCT_USER)) .setServiceAccountId(properties.getProperty(ACCT_ID)) .setServiceAccountScopes(范围) .setServiceAccountPrivateKeyFromP12File(p12) 。建造();
谷歌搜索并没有帮助我找到很多关于 SSH 隧道和 Google API 使用的信息。任何帮助将不胜感激。完成 SSH 隧道后,是否有推荐的方式来使用 Google Directory API?
【问题讨论】:
标签: java ssh google-api ssh-tunnel google-directory-api