【问题标题】:How to get Google OAuth 2.0 Token via rest request如何通过休息请求获取 Google OAuth 2.0 令牌
【发布时间】:2020-03-11 16:15:35
【问题描述】:

我想使用 Firebase 云消息传递 来管理网络应用程序中的通知。目前 FCM 的配置已为我的项目准备就绪,我设法使用控制台手动模拟发送通知。但目标是自动实现此结果。也就是说每隔一小时,我的系统就会自动触发对新令牌的请求,该令牌将存储在数据库中并用于发送推送通知。

使用oauthplayground,我设法获得了一个令牌并发送了我的推送通知。

如何通过REST请求实现,无需人工干预?

我想到第一次使用 oauthplayground 然后调用https://oauth2.googleapis.com/token API 重新生成令牌。但我收到此错误消息

{ "error": "unauthorized_client", "error_description": "未经授权" }

提前致谢。

【问题讨论】:

  • 你能再描述一下你的后端服务器(你想从哪里进行 FCM 调用)吗?它是 java/node.js 后端吗?
  • 我使用的是 oracle 环境。通过使用 PL / SQL 块,我可以发出 REST 请求

标签: rest firebase-cloud-messaging google-oauth


【解决方案1】:

由于您似乎使用的是非 Google 环境,因此您需要从 Firebase 项目下载服务帐号 JSON 文件。请参阅 this firebase 文档。

完成此操作后,您应该能够使用服务帐户 JSON 文件和 Google API 客户端库为您提到的首选语言创建 OAuth 2 访问令牌here

客户端库可用于大多数常用语言(java、python、node.js 等)。使用其中一个库是为 FCM 生成 OAuth 令牌的最简单方法。

【讨论】:

  • 我有我的 JSON 服务帐户文件。最后,我需要在以下语言中使用 Google API 客户端库:Node.js、JAVA 或 Python。在这种情况下,我将选择构建一个 Web 服务,该服务将返回我将在我的 ORACLE 环境中使用的令牌。
  • 是的,请试试这个,看看它是否适合你。 :)
  • 感谢@Derryl,我现在可以通过在 Oracle 环境中发出休息请求来使用 java 客户端库检索令牌。
  • 太棒了! :) 编码愉快!
猜你喜欢
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 2011-08-06
  • 2013-02-24
  • 2012-04-05
  • 2021-10-20
  • 1970-01-01
相关资源
最近更新 更多