【问题标题】:Add Google Chat App to a space using REST API使用 REST API 将 Google Chat 应用程序添加到空间
【发布时间】:2023-01-11 00:13:38
【问题描述】:

我有一个 Google 聊天应用程序(运行应用程序脚本)需要将其自身添加到 Google 空间。

根据文档Docs 聊天应用程序可以将自己添加到空间中。 (我已经加入了开发者预览计划)。

问题是 API 的响应总是 403 消息 '来电者必须是拥有可访问 Google Chat 的 Google Workspace 帐号的真人用户。'. 如果文档明确说明聊天应用程序可以将自己添加到空间,为什么调用者必须是人类用户?

目前,我的应用程序向以下端点发出请求: POST https://chat.googleapis.com/v1/spaces/XXXXX/members

具有以下主体: { "member": { "name": "users/app", "domainId": "company.it", "type": "BOT" } }

使用服务帐户检索访问令牌(与聊天应用程序相同)

【问题讨论】:

    标签: google-api chat


    【解决方案1】:

    您可以按照以下步骤将运行应用脚本的 Google Chat 应用添加到 Google 空间:

    1. 在脚本编辑器中打开脚本。

    2. 转到“文件”菜单并选择“项目属性”。

    3. 在“信息”选项卡中,单击“执行 API”部分下的“添加项目”按钮。

    4. 选择“Cloud Platform 项目”并输入您的 Cloud Platform 项目的项目 ID。

    5. 转到“高级 Google 服务”标签并启用“Google Chat API”。

    6. 现在,您可以在脚本中使用聊天 API 将应用程序添加到空间。在脚本中,您可以使用 Chat.Spaces.insert 方法创建新空间,或使用 Chat.Spaces.patch 方法将应用程序添加到现有空间。

      要创建空间,您需要传递空间名称、类型和成员的用户 ID。

      var space = {
        displayName: 'My new space',
        type: 'ROOM',
        members: [
          {userId: 'USER_ID'}
        ]
      };
      var result = Chat.Spaces.insert(space);
      
      1. 要将应用程序添加到现有空间,您需要知道空间名称和应​​用程序的密钥。您可以使用应用密钥和空间名称调用Chat.Spaces.patch方法:
      Chat.Spaces.patch(
              {
                name: "spaces/SPACE_NAME",
                requestBody: {
                  apps: [
                    {
                      appId: 'APP_ID'
                    }
                  ]
                }
              }
          );
      
      1. 请记住,运行脚本的用户必须有权将应用程序添加到空间。

      2. 您可以通过运行您创建的函数来测试脚本编辑器中的功能,并在脚本编辑器的日志部分中查看结果。

      此外,您可以参考谷歌文档以获取更多信息:https://developers.google.com/chat/api/reference/rest/v1/spaces.messages#ActionResponse

    【讨论】:

    猜你喜欢
    • 2021-04-24
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多