问题标签 [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.
youtube - Youtube Data API - 如何避免 Google OAuth 重定向 URL 授权
要求:我正在尝试通过 Youtube Data API for Java 将视频上传到我的 Youtube 频道。该请求是从托管在 tomcat 容器上的 war 文件发送的。我的应用程序不适用于外部用户,我只使用它来上传我自己生成的视频。在 api 文档和示例 youtube 代码片段的帮助下,我成功地在 youtube 上发布了视频。
问题:问题是每当我尝试运行代码时,都会提示我输入
请在浏览器中打开以下地址: 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
由于我在远程服务器上运行此代码,因此我无法始终在浏览器上打开此 URL。由于我已经在 Google Console 中注册了我的 web 应用程序,并获得了一对 Client ID 和 Secret 以及一个 JSON 文件,所以 Youtube 必须默认允许我发布视频以至少我的频道,不是吗?
我使用了 Auth.java 文件(在 youtube java 代码示例中提供),下面的代码就是发生这种情况的地方。
请在这里提供帮助,因为这真的占用了我很多的开发时间。
google-admin-sdk - 通过 Java 使用 Admin SDK 执行组操作
我有一个与 Google Apps for Work 域集成的应用程序,需要从 oauth 1 迁移到 oauth 2。
这是一个服务器应用程序,只需要:
- 列出域中的所有组。
- 列出指定组中的用户。
- 将成员添加到指定组。
- 从指定组中删除成员。
鉴于上述情况,我认为这应该使用服务帐户来完成。我创建了这个,下载了 P12 令牌(P12 和 JSON 令牌有什么区别?)并通过开发者控制台启用了 Admin SDK API。在域的控制面板中启用了 API 访问,并且我为与服务帐户关联的客户端 ID 启用了范围https://www.googleapis.com/auth/admin.directory.group.member。
我尝试了一些围绕组的随机操作,但得到“权限不足”的响应。
无论如何,首先,我正在寻找正确实现上述操作所需代码的一些帮助,然后看看是否仍然存在权限问题:
oauth-2.0 - AbstractAuthorizationCode Servlet 和 CallbackServlet - 如何实现 getUserId()?
如何在这些 Google OAuth2 抽象 servlet 中正确实现抽象 getUserId(request) 方法?
正如代码所说,它用于查找和存储谷歌凭据。我见过返回会话 id 的示例,但会话到期后将无法正常工作:
- 用户访问 auth url,他的访问和刷新令牌存储在 sessionId 键下的存储中
- 在会话生命周期内,一切正常,因此如果该用户再次访问 auth url,则使用相同的 sessionId 键找到他存储的令牌
- 但是在会话到期(服务器重启等)之后,当该用户再次访问 auth url 时,他得到了新的 sessionId,没有找到存储的令牌,所以新的令牌(这次只有访问令牌)被请求并再次存储在新的 sessionId 键下
所以问题是 - 如何生成适用于所有情况的 userId?GoogleAppEngine 实现使用登录用户,这非常好 - 但是我如何仅从 HttpRequest 参数生成这样的 userId 呢?
顺便说一句,这个(https://developers.google.com/gmail/api/auth/web-server)python实现似乎会生成并行用户信息请求以手动获取用户电子邮件......
java - 无法使用 GoogleAuthUtil.getToken 获取 Auth Token
我正在尝试在 Android 上获取 Auth Token,它可以在我的网络服务器上交换为 accessToken 和 RefreshToken。我正在关注此文档。
特别是部分 - Android 应用程序获取 Web 后端的离线访问
我的代码:
但它总是给我以下例外:
我已经阅读并尝试了几乎所有类似问题的解决方案,但仍然失败。我尝试使用所有不同的客户端 ID - 包括 Web 客户端 ID、服务器应用程序 ID、Android 客户端 ID、其他客户端 ID
事实上,我在我的 JAVA 应用程序之外使用相同的 Web 客户端 ID 使用了 rest API,并且我能够获得所需的身份验证代码。
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id= ****.apps.googleusercontent.com&redirect_uri= http://localhost&scope=https://www.googleapis.com/auth/plus .login&access_type=离线
但在 Java 应用程序中,我只得到“未知”异常。谷歌不能提供更多信息吗?什么是未知数?有没有办法获取 com.google.android.gms.auth 包代码并查看异常是从哪里抛出的?
java - 从 Android 应用程序使用 Steam Web API
我正在尝试将一些来自 Steam 的信息添加到我的 Android 应用程序中。我看到 Steam 有Steamworks,但那只是为 Windows、OSX 和 Linux 构建的。
此外,我看到他们还有一个Web API,也可以从移动应用程序访问。但是 API 中的所有方法都需要 64 位 SteamID,他们说可以使用OpenID来检索。我下载了适用于 JAVA 的 Google Oauth 客户端库,但我阅读了文档,但我不明白如何为使用该库的用户获取 SteamID。
有没有人使用这个库或其他开源库来获取 SteamID?
gmail-api - Gmail (for business) API 不允许从 Alias 发送电子邮件?
我想使用不同的“角色”(例如 info@、customer-support@、tech-support@、no-reply@)向我的客户发送电子邮件。
我尝试了两种方法:
- 我的 Gmail 业务应用程序中有多个“用户”/帐户。
- 具有多个别名的单个 gmail 帐户。
我首先为我的 Gmail for Business 应用程序设置了一个具有全局委派的服务帐户。
为了测试它是否有效,我设置了 2 个用户:lev@mydomain.com 和 root@mydomain.com。事实上,我可以成功地从 lev@ 和 root@ 发送电子邮件。
但是,当我尝试为我的应用程序添加 5 个不同的用户帐户时,Gmail 对机器人/滥用行为感到偏执,并要求我证明所有帐户都是“人的”,包括设置密码、登录和通过电话验证短信。此外,他们需要为不同的帐户使用不同的手机来证明它是不同的人。因此,帐户的设置成为一个主要问题。
我还想避免创建多个帐户,因为我要为每个帐户付费,而且从语义上讲,所有角色都只是一个帐户。所以别名似乎是一个更好的主意。
问题是,当我尝试发送电子邮件并将“发件人”字段设置为别名(例如 from:no-reply@mydomain.com)时,出现以下异常:
有人遇到并解决了这个问题吗?
身份验证/凭据代码如下:
发送电子邮件的代码如下:
android - GMail API 获取未在 Android 中配置的访问权限
嗨,我正在尝试在我的 android 应用程序中实现 GMail API 以在后台发送邮件。但我得到了这样的回应。即使我在我的应用中启用了 Gmail API 权限。
我按照https://developers.google.com/gmail/api/quickstart/android进行集成。
java - 当在 ios 应用程序中收到身份验证码时尝试从后端服务器交换身份验证码时的 Redirect_uri
我有一个 ios 应用程序和一个 Web 应用程序,它们从用户那里获得授权并生成一个 authcode 并将其发送到后端 java servlet,后者试图交换 authcode 以获取访问和刷新令牌。从 Web 应用程序交换身份验证码正在工作,但对于从 ios 应用程序生成的身份验证码,我在交换过程中收到以下错误。
com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request { "error" : "invalid_request", "error_description" : "Missing parameter: redirect_uri" }
这是进行交换的代码
交换从 ios 应用程序生成的 authcode 时,我必须设置什么 redirect_uri?顺便说一句,在谷歌开发者控制台中为 ios 应用程序创建的凭据没有重定向 uri 集。
google-oauth - 强制用户通过 Google OAuth2 选择帐户
我的应用程序中有以下工作流程:
- 用户登录我的自定义应用程序
- 用户单击按钮以链接其 YouTube 帐户
- 应用程序使用下面的代码清单发出服务器端请求
- 用户被重定向到 google auth url
此时,会发生以下两种情况之一:
[我从不想要这种行为] - 如果用户只登录了一个 Google 帐户(即 gmail、Google Apps for Domains 等),则永远不会要求用户选择要链接的帐户。它只是假设他们想要使用他们登录的那个并继续它的快乐方式。
[我总是想要这种行为] - 如果用户没有登录任何 Google 帐户,或者他们登录了多个 Google 帐户,那么他们会被要求选择他们想要继续使用的帐户。
问题:我有没有办法强制用户选择一个帐户,即使用户当前登录到单个 Google 帐户?
代码: