Ошибка с консолью разработчика Google с привязанным скриптом из Google Sheets

У меня есть скрипт, привязанный к файлу Google Таблиц, который предназначен для создания черновика в Gmail с вложением (скрипт приложен ниже, я получил его из другого Интернета). Для этого другие пользователи должны включить Gmail API как в скрипте, так и в консоли разработчика Google.

Как владелец файла, я могу это сделать. Однако, когда другие пользователи пытаются включить API Gmail в консоли разработчика Google, появляется сообщение об ошибке: «У вас недостаточно прав для просмотра этой страницы».

Кто-нибудь знает, что происходит не так? Это ошибка или я (как владелец файла) должен что-то сделать?

function callGmailAPI_(message) {
  var payload = createMimeMessage_(message);
  var response = UrlFetchApp.fetch(
       "https://www.googleapis.com/upload/gmail/v1/users/me/drafts?uploadType=media", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + ScriptApp.getOAuthToken(),
    "Content-Type": "message/rfc822",
  },
  muteHttpExceptions: true,
  payload: payload
});

Logger.log(response.getResponseCode());
Logger.log(response.getContentText());
}

function encode_(subject) {
var enc_subject = Utilities.base64Encode(subject, Utilities.Charset.UTF_8);
return '=?utf-8?B?' + enc_subject + '?=';
}

function createMimeMessage_(msg) {

var nl = "\n";
var boundary = "__test_dot_com__";

var mimeBody = [

"MIME-Version: 1.0",
"To: "      + msg.to.email,
"Cc: "      + msg.cc.email,
"Subject: " + encode_(msg.subject),

"Content-Type: multipart/alternative; boundary=" + boundary + nl,
"--" + boundary,

"Content-Type: text/plain; charset=UTF-8",
"Content-Transfer-Encoding: base64" + nl,
Utilities.base64Encode(msg.body.text, Utilities.Charset.UTF_8) + nl,
"--" + boundary,

"Content-Type: text/html; charset=UTF-8",
"Content-Transfer-Encoding: base64" + nl,
Utilities.base64Encode(msg.body.html, Utilities.Charset.UTF_8) + nl

];

for (var i = 0; i < msg.files.length; i++) {

var attachment = [
  "--" + boundary,
  "Content-Type: " + msg.files[i].mimeType + '; name="' + msg.files[i].fileName + '"',
  'Content-Disposition: attachment; filename="' + msg.files[i].fileName + '"',
  "Content-Transfer-Encoding: base64" + nl,
  msg.files[i].bytes
];

mimeBody.push(attachment.join(nl));
} 
mimeBody.push("--" + boundary + "--");
return mimeBody.join(nl);
}

person Vincent Sebastian    schedule 19.07.2016    source источник


Ответы (1)


Исходя из этого thread, это может быть из-за доступа к двойной учетной записи. Попробуйте выйти из всех других учетных записей и войти только в одну учетную запись. Если это не поможет, попробуйте войти с другой учетной записью и повторите попытку.

Проверьте следующие связанные проблемы:

Что касается вашей конкретной проблемы, я бы попробовал выйти из всего, попробовав другой браузер, с обеими новой консолью и старый.

Надеюсь это поможет!

person abielita    schedule 19.07.2016