Неверный topicName не совпадает - PullRequest
4 голосов
/ 21 мая 2019

Я пытался решить эту проблему весь день, но не могу найти, где ошибка. Я создаю программу для определения того, когда я получаю почту в своем gmail и записываю это письмо в электронную таблицу Google, использую API Gmail и Google Apps Script. Это мой код:

GS код:

function doPost(e) {
  var message = JSON.parse(e.postData.getDataAsString()).message
  var data = Utilities.newBlob(Utilies.base64Decode(message.data)).getDataAsString()[0];
  var ss = SpreadsheetApp.openById('1b8s5PLItCsmk8l1q0T1KHYOzjW7iDv4sRXSFvAxVFbQ').getSheets()[0];
  ss.appendRow([new Date(), message.message_id,data]);
  return 200;
}

function capturemail(){

  var WatchRes = Gmail.newWatchRequest();
  WatchRes.labelIds = ["INBOX"];
  //WatchRes.labelFilterAction = "include";
  WatchRes.topicName = "projects/proyecgmailyou/topics/mailsuc";

  var response = Gmail.Users.watch(WatchRes,"rjdelrio@uc.cl");

  Logger.log(response);

}

Функция doPost (), которую я вставил в веб: https://script.google.com/a/uc.cl/macros/s/AKfycby8gOrWrMDkaAlgNdXNHl2J424Hvv0yu2CKKhJQW41Ka3Xa55g/exec

и затем я пытаюсь запустить функцию capturemail, но появляется следующая ошибка:

The API call to gmail.users.watch failed with the error: Invalid topicName does not match projects/sys-72285619869091378116913905/topics/* 

и это так странно, потому что я никогда не использую это имя "sys-72285619869091378116913905" и не видел его там же

также я даю разрешение на gmail-api-push@system.gserviceaccount.com enter image description here

Я думаю, что проблема заключалась в идее проекта, поэтому я рассматриваю эту часть, и вот что я нахожу: enter image description here

Я также пытаюсь изменить название темы на:

projects/sys-72285619869091378116913905/topics/mailsuc

но появляется эта другая ошибка:

The API call to gmail.users.watch failed with the error: Error sending test message to Cloud PubSub projects/sys-72285619869091378116913905/topics/mailsuc : Resource not found (resource=mailsuc).

однако я уверен, что у меня есть этот ресурс для создания, потому что я сделал здесь:

enter image description here

и последнее, что я использовал это видео на YouTube, чтобы направлять меня youtube.com / watch? V = wjHp9_NAEJo

1 Ответ

2 голосов
/ 24 мая 2019

Функция просмотра документация может сказать о проекте следующее:

Обратите внимание, что часть "my-project-identifier" должна точно соответствовать вашему идентификатору проекта разработчика Google (тот, который выполняет этот запрос наблюдения).

sys-72285619869091378116913905 - это, предположительно, идентификатор проекта, в котором выполняется сценарий Apps.Это «облачный проект по умолчанию», как описано здесь .Это явно не соответствует proyecgmailyou.

Чтобы это исправить, вы можете изменить Cloud Project для вашего скрипта Apps на «стандартный» проект Cloud Platform с , выполнив следующие шаги :

  1. Откройте редактор сценариев для своего сценария
  2. Перейдите в раздел «Ресурсы> Проект облачной платформы ...»
  3. Введите номер своего облачного проекта (например, 729073306366)

Полномочия будут потеряны, но после этого в вашем облачном проекте будет запущен скрипт Apps, поэтому он может использовать тему из этого проекта.

...