【发布时间】:2020-03-19 10:18:41
【问题描述】:
我们能否有 API 来监控我们组织内环聊中不同用户和群组之间的聊天。这将有助于管理员更好地控制组织内正在传达的内容以及控制组织外的内容。此外,如果存在任何这些类型的 API,我可以在其中获取所有用户的详细聊天信息,请告诉我。
【问题讨论】:
标签: hangout hangouts-chat hangouts-api google-hangouts
我们能否有 API 来监控我们组织内环聊中不同用户和群组之间的聊天。这将有助于管理员更好地控制组织内正在传达的内容以及控制组织外的内容。此外,如果存在任何这些类型的 API,我可以在其中获取所有用户的详细聊天信息,请告诉我。
【问题讨论】:
标签: hangout hangouts-chat hangouts-api google-hangouts
可以通过 Gmail API 获取 Google 聊天的消息,您可以发出 Messages.List 请求以获取来自 Chat 和 Gmail 的所有消息。要仅按聊天中的人进行过滤,可以使用以下查询 q 参数:
label:CHAT
通过Messages.Get 请求,您可以获得每条消息的数据。
最后,这只会为您提供您使用凭据的用户的数据,以获取您需要使用 service account with domain wide delegation 的所有组织的数据,以便模拟域中的每个用户并成为能够使用每个用户的凭据执行上述过程。
编辑
由于您还需要聊天组的信息作为名称和成员,因此您需要使用 Hangouts Chat API 并使用服务帐户凭据设置应用程序/机器人,如example 中所述,使用 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)
上面的代码发出了一个消息创建请求,但同样你可以用它来创建任何其他available requests。您也可以使用不同的language library。
【讨论】: