如何允许不和谐机器人访问谷歌产品?

Posted

技术标签:

【中文标题】如何允许不和谐机器人访问谷歌产品?【英文标题】:How to allow discord bot to access google products? 【发布时间】:2021-09-26 15:42:23 【问题描述】:

我创建了一个不和谐机器人,它需要访问我的 Google 表格和 Google 日历。为此,我在 google 控制台上创建了一个项目,并启用了驱动器、工作表和其他所需的 API。然后我下载了凭据并将其重命名为creds.json

这是我从我的 Google 帐户访问名为 Responses 的电子表格的操作。

scope = ['https://spreadsheets.google.com/feeds',
         'https://www.googleapis.com/auth/drive']

creds = ServiceAccountCredentials.from_json_keyfile_name('creds.json', scope)
client = gspread.authorize(creds)

sheet = client.open('Responses')

这一切都是在我的本地系统上完成的。但现在,我希望任何人都能够邀请这个机器人并允许它访问他们的 Google 产品,如表格、日历等,这样机器人就可以完成它的工作。如何自动化启用 API 和使用邀请人凭据的过程?还是有其他方法?

我们将不胜感激任何形式的帮助。谢谢。

【问题讨论】:

【参考方案1】:

如果我正确理解了您的场景,您刚刚创建了一个在不同 Workspace 服务上运行某些操作的应用程序。如果这是正确的,那么您可以与不同的用户共享您的应用程序。您应该记住,这些用户将运行代码,但最终脚本将与 Workspace 交互,就好像它是您自己的帐户一样。因此,我建议您注意任何敏感数据操作,并在需要时创建专用凭据。这里有更多关于如何使用OAuth 2.0 in Google APIs的信息,请看一下,特别是在启用凭据同意的部分。最后,我建议你评估一下web apps,看看它们在你的场景中是否有用。

【讨论】:

感谢您的回答。我认为你正确理解了这个场景。 “您应该记住,这些用户将运行代码,但最终,脚本将与 Workspace 进行交互,就好像它是您自己的帐户一样”正是这一点。但是,当他们邀请我的机器人到他们的服务器时,我如何要求用户从他们的 Google 帐户登录?之后,机器人可以使用他们的 Google 服务(如日历)来创建频道等。是的,我会牢记这一点“所以我建议您注意任何敏感数据操作,并在需要时创建专用凭据”。 最佳方法因机器人将运行的实际操作而异。我建议你看看web apps 和add-ons。 非常感谢您的链接和您的时间。

以上是关于如何允许不和谐机器人访问谷歌产品?的主要内容,如果未能解决你的问题,请参考以下文章

创建一个记录所有消息的不和谐机器人

如何在 Python 中为不和谐的机器人创建重新加载命令?

Discord.py 谷歌图片搜索

如何将许多不和谐嵌入附加到一条消息中?

我如何阅读不和谐消息并将其用作变量? Python

不和谐.py |机器人可以生成服务器邀请链接吗?