简体   繁体   English

如何从Google表格获取数据到我的Gmail插件

[英]How to get data from google sheet to my Gmail addon

I tried to get some data from google sheet and display it in Gmail addons. 我试图从Google表格中获取一些数据并将其显示在Gmail插件中。 When i tried to run getValue() function i am getting error like below. 当我尝试运行getValue()函数时,出现如下错误。

You do not have permission to call openById (line 29, file "Code")Dismiss 您无权调用openById(第29行,文件“代码”)关闭

This is my code.gs file code 这是我的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;
}

This is my manifest file code(appscript.json) 这是我的清单文件代码(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"
  }
}

My requirement is accessing sheet and get some data and display it on Gmail addon. 我的要求是访问工作表并获取一些数据,并将其显示在Gmail插件上。 It could be very helpful if anyone can provide correct code snipes. 如果任何人都可以提供正确的代码片段,这可能会非常有帮助。

I think that the scope for using Spreadsheet is required to be added to "oauthScopes" of manifests. 我认为必须将使用电子表格的范围添加到清单的“ oauthScopes”中。 So please add https://www.googleapis.com/auth/spreadsheets to "oauthScopes" in appsscript.json . 所以,请加https://www.googleapis.com/auth/spreadsheets中的“oauthScopes” appsscript.json And try again. 然后再试一次。

If this didn't work, I'm sorry. 如果这不起作用,对不起。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM