将GET发送到space.members.list时出现“无效参数”

时间:2019-02-19 00:11:54

标签: google-apps-script urlfetch hangouts-chat

我正在尝试使用Apps脚本创建Google Hangouts聊天聊天机器人(在G Suite中)。我想获得聊天室中每个人的列表,但是Apps Scripts尚不直接支持此列表,因此我正在使用其余的API。 API调用list似乎很简单:

命令是
GET https://chat.googleapis.com/v1/{parent=spaces/*}/members

我已经创建了一个用于授权的服务帐户,然后使用了

var endpoint = 'https://chat.googleapis.com/v1/{parent="spaces/pQkgxxxxxxx"}/members'
var options = {
  method: "GET",
  contentType : "application/json" ,
  muteHttpExceptions : true,
  headers: {
    "Authorization": "Bearer " + goa.getToken(),
  }
};
var response = UrlFetchApp.fetch(endpoint, options)`

我得到的

  

无效的参数:https://chat.googleapis.com/v1/ {parent =“ spaces / pQkgxxxxxxxx”} /成员

我尝试编码parent参数,但是错误仍然存​​在。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

根据您链接的页面上的官方文档,路径参数parent的预期格式为spaces/*。给出的示例值为spaces/AAAAMpdlehY

换句话说,即使模板URL,也不应写{parents=}

  

获取https://chat.googleapis.com/v1/{parent=spaces/*}/members

有他们。在Google API HTTP annotation website上对此模板网址格式进行了详细说明。

在您的示例中,正确的GET URI为https://chat.googleapis.com/v1/spaces/pQkgxxxxxxx/members

您还应该考虑通过检查响应中的pQkgxxxxxxx(并将其作为URL参数{{1}传递)来解析空间nextPageToken的所有成员可能需要多次调用。 })。

您还应该考虑此查询返回的MemberShip可能包含具有各种成员资格状态的成员。