0

我正在尝试使用我的服务帐户 JSON 文件获取访问令牌。但是我无法获得访问令牌。

GoogleCredential googleCredential = GoogleCredential.fromStream(new FileInputStream(serviceAccountJsonFile));
System.out.print(googleCredential.getAccessToken());

null每次都得到。我可以将相同的凭据与 Python API 一起使用。

如果我在这里遗漏了什么,有人可以指出我。

4

1 回答 1

0

因此,我通过在 getToken 之前添加以下命令自己解决了这个问题:

credential.refreshToken()

您的代码如下所示:

GoogleCredential googleCredential = GoogleCredential.fromStream(new FileInputStream(serviceAccountJsonFile));
credential.refreshToken();
System.out.print(googleCredential.getAccessToken());

这在谷歌的网站上没有正确记录,但在添加它之后,它工作得很好,结果显示为实际值。

我遇到的其他一些错误是“com.google.common.io.ByteStreams.exhaust(Ljava/io/InputStream;)J”,为了解决它,我必须更正我使用的依赖项:

<dependency>
 <groupId>com.google.api-client</groupId>
 <artifactId>google-api-client</artifactId>
 <version>1.31.1</version>
</dependency>

参考可以在这里找到

我希望这对你也有帮助!

于 2020-12-11T16:51:59.093 回答