问题标签 [google-oauth-java-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-apps-marketplace - 使用 Google Apps Marketplace 服务帐户连接到 Gmail IMAP 和其他服务的正确方法
我们的 Marketplace 应用程序的一项功能是通过 IMAP 访问用户的 Gmail 帐户。我们在 java-gmail-imap 项目中使用了 google-api-java-client 和 google-oauth-java-client 库和类似于此示例的代码,如下所示:
然后,我们使用基于https://code.google.com/p/google-mail-oauth2-tools示例的代码来建立 IMAP 连接,例如
大多数情况下,这似乎可以正常工作,但是我们看到,对于少量但大量的请求,对 Google 的调用refreshToken()
失败并出现 HTTP 500 错误和 HTML 响应,其中 JSON 通常会返回,例如
Google 的一位开发人员倡导者告知我们,服务帐户不支持刷新令牌,我们应该使用本示例中的方法。
但是,似乎没有调用refreshToken
thenaccessToken
不会填充在凭证对象上,然后这会导致NullPointerException
我们调用OAuth2Authenticator.connectToImap
从源代码来看,GoogleCredential
它似乎executeRefreshToken()
被覆盖以处理服务帐户,即它不是执行刷新,而是简单地请求一个新令牌,然后这段代码Credential
处理填充访问令牌:
我们不确定是否需要将调用包含refreshToken()
在重试循环中以解决间歇性 500 错误,或者是否需要对代码进行其他更改以遵循针对此场景的推荐方法。
任何人都可以建议吗?
java - Google Analytics Java API“401 需要未经授权的登录”错误
我尝试使用 java 库和服务帐户从 GA 获取数据。我已经完成了所有必需的设置:在云控制台中激活 Analytics API,生成服务帐户,获取私钥,在 GA 用户管理中添加生成的具有读取权限的开发人员电子邮件。
使用我的本地实现,这可以正常工作。但是当我尝试从服务器端运行相同的代码时,我收到状态“需要 401 未经授权的登录”。两种实现都使用 Java 5 运行时,Google API 服务 Java 库版本 1.17.0 rev75。
带有凭据定义的代码片段:
Analytics 对象和查询构建器:
我已经添加了 httpLogger 来比较流量。我看到在本地和服务器运行的情况下,授权流程是相同的,获取访问令牌没有问题。
通过本地运行,我收到状态为 200 的响应:
但是随着服务器运行,我收到了状态为 401 的响应:
有人可以帮助我吗?我真的检查了我所知道的一切,但没有运气。
编辑 是否有人知道将域范围内的授权委托给服务帐户是否与 Google Analytics API 相关?
最好的问候,谢尔盖。
java - 使用 Oauth2 从 Google 请求访问令牌时出现错误 401
我正在编写一个需要访问 Google 任务 API 的 Java 客户端应用程序。我正在按照页面https://developers.google.com/accounts/docs/OAuth2InstalledApp的说明进行操作,并且我已经设法获得了授权码。但是,当我尝试获取访问令牌时,我不断收到错误 400“错误请求”。
我正在使用 Firefox 的海报插件进行测试。我向https://accounts.google.com/o/oauth2/token发送了一个帖子请求,内容如下:
关于我可能做错了什么的任何建议?
oauth - Google-oauth:无权请求范围
我在我的网络应用程序中实现了 Google oauth1,大约两个月前它运行良好,因为我正忙于其他一些事情,今天我必须测试该应用程序,但出现以下错误
错误:invalid_request 未授权请求范围:[https://www.googleapis.com/auth/plus.login]
请求详情 oauth_token=4/TcuWLYAunz3MeOac23f0i4AZ6tQx
谷歌方面的oauth登录过程有什么变化吗?对此问题的任何帮助表示赞赏。
我正在使用的范围
https://www.googleapis.com/auth/userinfo.email
https://docs.google.com/feeds/
dojo - 加载 google oauth 客户端后在 dojo 中回调
为了加载 google oauth 客户端库,我们必须使用这个脚本标签
加载 client.js 后将调用 load 方法。
我在我的应用程序中使用 dojo
我如何使用 dojo 加载它?
我尝试过使用 dojo/request/script 但回调方法由无法修改的 dojo 采用
任何帮助我怎么能做到这一点,
谢谢
google-chrome-extension - 从 chrome 扩展实现 Google+ 一次性代码流身份验证
我正在尝试使用此处所述的一次性代码流将 Google+ 登录选项作为 chrome 扩展的一部分来实现。
使用 javascript Google API 包发出请求时,会打开一个弹出窗口,并显示“origin_mismatch”错误。这显然是因为我需要将我的来源添加到 Google API 控制台上的相关客户端 ID。
我的起源是:chrome-extension://<my extension id>
但是,当尝试在 API 控制台上添加它时,我收到一条错误消息"Invalid URI: chrome-extension://..."
,这可能意味着不支持此方案。
知道我能做什么吗?
oauth - 谷歌一次性代码流oauth登录在windows phone IE中不起作用
我为我的网站使用谷歌一次性代码流oauth登录,这里描述,现在我的问题是链接工作正常,谷歌正在询问我的用户名和密码,然后它只是在那儿徘徊没有响应,也没有重定向到我的网站只在 Windows Phone IE 中。
我的猜测是它在同一个窗口中打开,所以它无法在我的站点中找到回调函数,我现在不知道如何解决这个问题。任何人都请帮我解决这个问题。
先感谢您。
google-oauth - google-oauth 日历返回 401 错误
我在google calendar api java sample上尝试了calendar-appengine-sample,当我使用client_secrets.json在localhost中运行时,它总是给我我的日历列表,但是当我使用client_secrets.json在google app引擎上运行时,它给了我以下错误信息:
在它使用相同的 client_secrets.json 之前,它突然不起作用。有人会这么好心地告诉我如何解决这个问题吗?
谢谢。
google-oauth - 从 OAuth1 3L 迁移到 OAuth2:
我正在尝试将现有的 OAuth1.0 3L 令牌迁移到 Web 应用程序的 OAuth2.0。我正在按照https://developers.google.com/accounts/docs/OAuth_ref上的说明进行操作, 尽管我尽了最大努力,但我仍然收到以下回复:“授权标头无效。”
为了创建 Authorization 标头,我使用了 Google 的 Java 客户端库 1.0,我在应用程序中使用它来与 google 日历对话。我正在使用访问令牌进行测试。可以正常工作的令牌秘密、消费者密钥和消费者秘密(即我可以使用这些凭据来调用 Google 日历等)。
这是我使用的代码:
这是 HttpClient 生成的线路跟踪:
其中 12345 和 ABCDE 显然是真正的 OAuth2 应用程序凭据的占位符。
我已经两次和三次检查 OAuthParameters 中设置的所有参数是否与当前使用 OAuth1 工作的普通代码相同(即使使用分步调试器来验证 OAuthHmacSha1Signer 计算签名时的值.getSignature())。
我查看了当前使用 OAuth1 的 Google 客户端 API 发送的 HTTP 请求中的 Authorization 标头(并且工作正常),显然除了签名、随机数和时间戳之外,它们看起来与此迁移调用发送的相同。
我什至尝试了一个测试迁移请求,但失败了,然后使用调试器运行旧代码并注入迁移调用使用的方法、URL、nonce 和时间戳,并且旧代码计算的签名是相同的,给定相同的参数。
为什么 Authorization 标头仍被报告为无效的任何线索?
java - Google OAUTH:请求中的重定向 URI 与注册的重定向 URI 不匹配
我正在尝试从我的基于 Java 的网络应用程序上传到 YouTube,我花了几天时间来了解问题出在哪里以及问题出在哪里,但我无法得到它,现在我正把头发从头上扯下来。
我在 Google Console 中注册了我的网络应用程序,因此我得到了一对客户端 ID 和密钥,并且可以使用我的配置下载 JSON 类型的文件。
所以这里是配置:
我怎么可能从 Google 获得默认 URL?
The redirect URI in the request: http://localhost:8080/Callback did not match a registered redirect URI
它总是给我默认的http://localhost:8080/Callback
URL 而不是我的。
IDE 控制台向我显示:
Please open the following address in your browser:
https://accounts.google.com/o/oauth2/auth?client_id=***&redirect_uri=http://localhost:8080/Callback&response_type=code&scope=https://www.googleapis.com/auth/youtube.upload
Attempting to open that address in the default browser now...
我正在使用最新版本的依赖项: google-api-services-youtube v3-rev99-1.17.0-rc和google-api-services-youtubeAnalytics v1-rev35-1.17.0-rc