Как получить данные из листа Google в моем аддоне Gmail - PullRequest
0 голосов
/ 08 мая 2018

Я пытался получить некоторые данные из листа Google и отобразить их в аддонах Gmail. Когда я пытался запустить функцию getValue (), я получаю сообщение об ошибке, как показано ниже.

У вас нет разрешения на вызов openById (строка 29, файл "Код") Уволить

Это мой код файла code.gs

     function createWidgetCard() {
   return CardService
      .newCardBuilder()
      .setHeader(
          CardService.newCardHeader()
              .setTitle('Widget demonstration')
              .setSubtitle('Check out these widgets')
              .setImageStyle(CardService.ImageStyle.SQUARE)
              .setImageUrl(
                  'https://www.example.com/images/headerImage.png'))
      .addSection(
           CardService.newCardSection()
               .setHeader('Simple widgets')  // optional
               .addWidget(CardService.newTextParagraph().setText(
                   'These widgets are display-only. ' +
                   'A text paragraph can have multiple lines and ' +
                   getValue()))
               .addWidget(CardService.newImage().setImageUrl(
                   'https://www.example.com/images/mapsImage.png')))
      .addCardAction(CardService.newCardAction().setText('Gmail').setOpenLink(
          CardService.newOpenLink().setUrl('https://mail.google.com/mail')))
      .build();
 }



//get data from sheet
function getValue(){
   var ss = SpreadsheetApp.openById("181tnith14lu8ttAvtqsU3gHi32-UjcrPqH5Pjuenk5A");
   var sheet = ss.getSheets()[0];
   var lastRaw = sheet.getLastRow();
   var text = sheet.getRange(lastRaw, 3.0).getValue();
   Logger.log("text");
   return text;
}

Это мой код файла манифеста (appscript.json)

     {
  "oauthScopes": [
    "https://www.googleapis.com/auth/gmail.addons.execute",
    "https://www.googleapis.com/auth/gmail.readonly",
    "https://www.googleapis.com/auth/script.storage",
    "https://www.googleapis.com/auth/script.external_request"    
  ],
  "gmail": {
    "name": "Finetech Addon",
    "logoUrl": "https://www.gstatic.com/images/icons/material/system/2x/bookmark_black_24dp.png",
    "contextualTriggers": [{
      "unconditional": {
      },
      "onTriggerFunction": "createWidgetCard"
    }],
    "openLinkUrlPrefixes": [
      "https://mail.google.com/"
    ],
    "primaryColor": "#4285F4",
    "secondaryColor": "#4285F4",
    "version": "TRUSTED_TESTER_V2"
  }
}

Мое требование - получить доступ к листу, получить некоторые данные и отобразить их в аддоне Gmail. Это может быть очень полезно, если кто-то может предоставить правильный фрагмент кода.

1 Ответ

0 голосов
/ 08 мая 2018

Я думаю, что область для использования электронных таблиц должна быть добавлена ​​в "oauthScopes" манифестов. Поэтому, пожалуйста, добавьте https://www.googleapis.com/auth/spreadsheets к "oauthScopes" в appsscript.json. И попробуйте еще раз.

Если это не сработало, извините.

...