在没有SDK的Google Actions中发送通知

时间:2018-09-27 23:48:44

标签: push-notification bots actions-on-google

我正在执行某项操作中的通知。我可以注册用户。但是,我无法弄清楚如何进行推送通知。

当示例代码使用SDK时,我现在停留在此documentation中的“访问令牌的交换密钥”部分。

是否可以在没有SDK的情况下执行此操作?使用休息服务?

1 个答案:

答案 0 :(得分:0)

是...但是...

有一个REST服务可以执行此操作,实际上,库最终会调用它。它是位于https://www.googleapis.com/oauth2/v4/token的标准OAuth2令牌交换端点。问题在于构建了可以传递给该服务的JWT。引用Google的page on the subject

  

尽管您的应用程序可以通过直接完成这些任务   使用HTTP与OAuth 2.0系统进行交互,   服务器到服务器的身份验证交互需要应用程序   创建并加密签名JSON Web令牌(JWT),   容易犯严重错误,可能对   您应用程序的安全性。

     

基于这个原因,我们强烈建议您使用库,例如   Google API客户端库,可以将加密技术抽象化   从您的应用程序代码中。

简而言之,如果要执行此操作,则需要:

  1. 创建一个JSON Web令牌(JWT),其中包括标头,声明集和签名。
  2. 从Google OAuth 2.0授权服务器请求访问令牌。
  3. 处理JSON响应以获取访问令牌。
  4. 跟踪访问令牌的寿命,当它过期并且需要访问令牌时,请重复步骤1-4。

详细信息位于 Using OAuth 2.0 for Server to Server Applications

我不熟悉C#库,但是有人告诉我Google的C# Client Library支持它,而ServiceAccountCredential的high level documentation似乎能够从凭据生成身份验证令牌