Google表格API Java程序可在一台机器上运行,而不是另一台机器--401 Au

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google表格API Java程序可在一台机器上运行,而不是另一台机器--401 Au相关的知识,希望对你有一定的参考价值。

我有一个工作的基本Java应用程序,它将一些数据上传到我的google工作表文件中。

我把它上传到git客户端,把它拉到我的另一台计算机上,然后它就不能用401了

Exception in thread "main" com.google.api.client.auth.oauth2.TokenResponseException: 401 Unauthorized
    at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105)
    at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287)
    at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307)
    at com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:570)
    at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489)
    at com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:217)
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:868)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
    at App.main(App.java:71)

知道这两台机器有什么不同吗?我理解如果我使用相同的client_secret.json,它应该与我所在的机器无关?

更新1:

好的,一些额外的信息 - 我刚刚在我的工作笔记本电脑上尝试我的项目,它工作正常!在第一次运行时,它打开了一个浏览器窗口,询问我想要使用哪个谷歌帐户,我选择了正确的帐户,这样就可以了。在笔记本电脑上我没有工作,我没有给出那个选项(我记得)所以如何重置用于验证的谷歌帐户?

我在cmd行中看到了这个

Please open the following address in your browser:
https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=blah-notputtingmyrealid.apps.googleusercontent.com&redirect_uri=http://localhost:42299/Callback&response_type=code&scope=https://www.googleapis.com/auth/spreadsheets
Attempting to open that address in the default browser now...
答案

由于它在您以前的计算机上工作,问题可能与您的client_secret.json的位置有关。如果您检查Java Quickstart setup,则需要下载JSON文件并将其放在工作目录中。因为,你在一台新机器上,现在缺少该文件。

G。单击客户端ID右侧的file_download(下载JSON)按钮。

H。将此文件移动到您的工作目录并将其重命名为client_secret.json。

或者访问令牌已过期。

以上是关于Google表格API Java程序可在一台机器上运行,而不是另一台机器--401 Au的主要内容,如果未能解决你的问题,请参考以下文章

开发机器上的网络核心 Web api 应用程序上的 Kestrel 错误,但在另一台机器上却没有

部署 java web 应用程序后,如何在另一台机器上使用它

模拟器中的 iPhone 应用程序可在一台 Mac 上运行,但不能在另一台 Mac 上运行

Google place api问题

使用 Sheets API v4 Java 阅读整个 Google 电子表格

使用 Sheets API v4 (Java) 获取 Google 表格上次编辑日期