-3

我们可以有 API 来监控我们组织内环聊中不同用户和群组之间的聊天吗?这将有助于管理员更好地控制组织内交流的内容以及控制组织外的内容。此外,如果存在任何这些类型的 API,我可以在其中获取所有用户的详细聊天信息,请告诉我。

4

1 回答 1

1

可以通过 Gmail API 获取 Google 聊天的消息,您可以发出Messages.List请求以获取来自 Chat 和 Gmail 的所有消息。要仅按聊天中的人进行过滤,您可以使用以下查询q参数:

label:CHAT

使用Messages.Get请求,您可以获得每条消息的数据。

最后,这只会为您提供您使用凭据的用户的数据,以获取您需要使用具有域范围委派的服务帐户的所有组织的数据,以便模拟域中的每个用户并成为能够使用每个用户的凭据执行上述过程。

编辑

由于您还需要聊天组的信息作为名称和成员,因此您需要使用 Hangouts Chat API 并使用服务帐户凭据设置应用程序/机器人,如本示例中使用 Python 解释的那样:

from httplib2 import Http
from oauth2client.service_account import ServiceAccountCredentials
from apiclient.discovery import build
scopes = 'https://www.googleapis.com/auth/chat.bot'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
    'service-account.json', scopes)
chat = build('chat', 'v1', http=credentials.authorize(Http()))
resp = chat.spaces().messages().create(
    parent='spaces/AAAA2CiqVDM', # use your space here
    body={'text': 'Test message'}).execute()
print(resp)

上面的代码发出了一个消息创建请求,但类似地,您可以使用它来发出任何其他可用的请求。您也可以使用不同的语言库

于 2020-03-19T15:07:01.330 回答