«Неверный аргумент» при отправке GET в spaces.members.list - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь создать чат-чат Google Hangouts (в G Suite) с помощью Apps Script.Я хочу получить список всех в чате, но это прямо не поддерживается в Сценариях приложений, поэтому я использую остальные 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"}/members

Я пытался кодировать параметр parent, но ошибка сохраняется,Есть идеи?

1 Ответ

0 голосов
/ 19 февраля 2019

В соответствии с официальной документацией на странице, на которую вы ссылаетесь, ожидаемый формат параметра пути parent имеет форму spaces/*.В качестве примера приведено значение spaces/AAAAMpdlehY

Другими словами, вы не должны записывать биты {parents= и }, даже если URL шаблона

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

имеет их.Этот формат URL-адреса шаблона подробно объясняется на веб-сайте аннотации HTTP API .

. В вашем примере правильный URI для GET равен https://chat.googleapis.com/v1/spaces/pQkgxxxxxxx/members

.также учтите, что для разрешения всех членов пространства pQkgxxxxxxx может потребоваться несколько вызовов, проверяя наличие nextPageToken в ответе (и передавая его в качестве параметра URL pageToken в следующем вызове).

Вы также должны учитывать, что MemberShip, возвращаемый этим запросом, может включать членов с различными состояниями членства.

...