gpt4 book ai didi

java - GoogleCredential 缺少访问 token

转载 作者:行者123 更新时间:2023-11-29 07:42:05 26 4
gpt4 key购买 nike

我正在使用服务帐户模型和 Google 的 Java API 来检索和修改用户。

我能够使用类似于 Google 示例的代码成功创建 GoogleCredential 对象:

GoogleCredential googleCredential = new GoogleCredentialBuilder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountUser(SERVICE_ACCOUNT_USER)
.setServiceAccountPrivateKeyFromP12File(P12_PRIVATE_KEY_FILE)
.setServiceAccountScopes(Collections.singleton(GLOBAL_USER_AND_ALIAS_SCOPE)
.build();

我在任何示例中都没有看到我必须显式创建访问 token ,所以我一直假设上面的代码会处理这个问题。是真的吗?

之后,我成功创建了一个目录实例,然后尝试检索特定用户:

User user = new User();
user = directory.users().get(uid).execute();

失败,抛出 NullPointerException。

当我在调用获取用户对象之前检查 GoogleCredential 对象时,它似乎不包含访问 token :

accessToken = null
refreshToken = null

我错过了什么?

如何使用服务帐户模型获取访问 token ?

提前致谢。

最佳答案

你从哪里得到你的accessToken?尝试

credential.refreshToken();
accessToken = credential.getAccessToken();

此外,您应该考虑在 Oauth2 Playground 中运行您的凭据.如果它在 playground 中有效,那么你的实现可能有问题。

关于java - GoogleCredential 缺少访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29043629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com