python - 使用 google chat api 时项目编号无效

标签 python google-cloud-platform google-chat

我正在关注 this article通过服务帐户在 Google Chat 中创建消息。但是,当我编译代码时,收到以下消息:

Traceback (most recent call last): File "googlechat-api.py", line 27, in resp = chat.spaces().messages().create( File "C:\Users\tdi5539\Anaconda3\lib\site-packages\googleapiclient_helpers.py", line 134, in positional_wrapper return wrapped(*args, **kwargs) File "C:\Users\tdi5539\Anaconda3\lib\site-packages\googleapiclient\http.py", line 935, in execute raise HttpError(resp, content, uri=self.uri) googleapiclient.errors.HttpError: <HttpError 404 when requesting https://chat.googleapis.com/v1/spaces/AAAAcE3QeHo/messages?alt=json returned "Invalid project number.". Details: "Invalid project number.">


谁能为我解释一下是什么问题?
顺便说一下,这是我的代码:
from httplib2 import Http
from oauth2client.service_account import ServiceAccountCredentials
from googleapiclient.discovery import build
scopes = 'https://www.googleapis.com/auth/chat.bot'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
    'credentials.json', scopes)
chat = build('chat', 'v1', http=credentials.authorize(Http()))
resp = chat.spaces().messages().create(
    parent='spaces/AAAAcE3QeHo', # use your space here
    body={'text': 'Test message'}).execute()
print(resp)

最佳答案

您需要设置您的机器人,并且您只能使用 Google Workspace aka GSuite 帐户来设置机器人
就我而言,我使用 @gmail.com 帐户启动了该项目,并且必须将来自 Google Workspace @mycompany.com 的用户添加到该项目并从该帐户设置 Bot。
设置 Google Chat Bots 的链接应该是这样的:
https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat?authuser=1&project=[your-project]&supportedpurview=project

关于python - 使用 google chat api 时项目编号无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68313592/

相关文章:

python - 使用 CSV.QUOTE_NONNUMERIC 而不引用标题

python - 在 Python 中对多维字典进行排序

python - 为什么 contextlib 和 Python 中的 With 语句有惊人的开销 [50X] 以及如何处理它

node.js - Sequelize.authenticate() 对 Docker 内部的 google cloud sql 连接不起作用(没有成功或错误响应)

mysql - 将 linux 命令的输出导入 MySQL 表

dialogflow-es - 使用 dialogflow fulfillment webhook 的 Google 聊天自定义卡片

javascript - 如何在 javascript 中使用 google 图表将 x 轴点交换为 y 轴

创建嵌套字典的 Pythonic 方式

android - 您的应用程序包含公开的 Google Cloud Platform (GCP) API key 。有关详细信息,请参阅这篇 Google 帮助中心文章

google-apps-script - 如何使用 Google App Script 中的聊天 API 在 Google 聊天室(而非 Google 群组)中添加用户?