Google Chat API: удаление сообщения от бота дает ошибку 401

Это код, который я пытаюсь использовать для удаления сообщений, отправленных через веб-перехватчик в комнату чата (я беру messageID, когда создаю его с тем же запросом, но методом POST и отправкой сообщения в текстовой переменной):

var WEBHOOK_URL2 = "https://chat.googleapis.com/v1/spaces/<SPACE>/messages/<MESSAGEID>.<MESSAGEID>?key=<KEY>&token=<TOKEN>%3D";
  var options = {
    'method' : 'delete',
    'muteHttpExceptions' : true,
  };

  var response = UrlFetchApp.fetch(WEBHOOK_URL2, options);
  Logger.log (response);

Ответ

"error": {
    "code": 401,
    "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }

Как уже отмечалось, создание сообщений работает с этими учетными данными (ключ / токен из веб-перехватчика чата). Возможно, мне что-то не хватает в документации на https://developers.google.com/hangouts/chat/reference/rest/v1/spaces.messages/delete?

Заранее спасибо,


person farrusete    schedule 04.06.2020    source источник


Ответы (1)


Эта ошибка обычно возникает из-за того, что в запросе отсутствует токен доступа или этот токен доступа не был проверен. Я предполагаю, что вы используете скрипт приложений для этой задачи. Если мое предположение верно, вы найдете эту справку полезным; он обобщает протокол OAuth 2.0 для API Google с использованием JavaScript. Для получения токенов доступа см. Это другое руководство для полной пошаговой инструкции. Пожалуйста, следуйте этим шагам в своей процедуре запроса и не стесняйтесь отвечать, если вам понадобится дополнительная помощь.

person Jacques-Guzel Heron    schedule 08.06.2020