首页 > 解决方案 > 如何从谷歌表格获取数据到我的 Gmail 插件

问题描述

我试图从谷歌表格中获取一些数据并将其显示在 Gmail 插件中。当我尝试运行 getValue() 函数时,出现如下错误。

您无权调用 openById(第 29 行,文件“代码”)Dismiss

这是我的 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 插件上。如果任何人都可以提供正确的代码狙击,这将非常有帮助。

标签: google-apps-scriptgoogle-workspacegmail-addons

解决方案


我认为需要将使用电子表格的范围添加到清单的“oauthScopes”中。所以请https://www.googleapis.com/auth/spreadsheetsappsscript.json. 然后再试一次。

如果这不起作用,我很抱歉。


推荐阅读