java通过Google Vault API在Google聊天室中搜索消息
我正试图通过查询特定的聊天室ID来创建包含聊天室中所有消息的Google Vault导出。不幸的是,正在为以下查询创建导出:
newQuery
.setDataScope("ALL_DATA")
.setCorpus("HANGOUTS_CHAT")
.setStartTime(startDate)
.setEndTime(endDate)
.setSearchMethod("ROOM")
.setHangoutsChatOptions(new HangoutsChatOptions().setIncludeRooms(false))
.setHangoutsChatInfo(new HangoutsChatInfo().setRoomId(spaceId));
产生以下错误:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
POST https://vault.googleapis.com/v1/matters/<matterID>/exports
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Search method ROOM is not supported for corpus type HANGOUTS_CHAT.",
"reason" : "badRequest"
} ],
"message" : "Search method ROOM is not supported for corpus type HANGOUTS_CHAT.",
"status" : "INVALID_ARGUMENT"
}
为了在Google聊天服务中搜索,需要将微粒类型设置为"HANGOUTS_CHAT"
。API还提到,当搜索方法为"ROOM"
(https://developers.google.com/vault/reference/rest/v1/Query#SearchMethod)时,需要传递HangoutsChatInfo()
对象
我是遗漏了什么还是这是一个错误?如果我想实现的目标不可能实现,有人知道这个问题的解决方法吗
# 1 楼答案
根据API的当前设计,这似乎是预期的行为,因为您需要提供相应的RoomId,目前还不可能
以前有人遇到过类似的问题,结果出现在功能请求中,您可以在此处检查:https://issuetracker.google.com/189250955