标签: gmail-addons

在newSelectionInput OnChangeAction上将部分小部件动态添加到Card中

我正在尝试将部分小部件动态添加到newSelectionInput OnChangeAction(已添加卡)上的Card / CardService中。

我没有在Google上看到任何文档,如何实现此行为。

有人可以指导我找到正确的文档或如何执行此操作。

谢谢

google-apps-script google-apps-script-addon gmail-addons

5
推荐指数
1
解决办法
953
查看次数

如何使用 App 脚本在 Gmail 插件中使用 HtmlService

我正在创建一个 Gmail 插件。以下参考页面显示 - https://developers.google.com/gmail/add-ons/reference/

“Gmail 插件是使用 Apps 脚本及其提供的许多服务构建的。构建插件时,您可以使用任何 Apps 脚本服务”

基本上,我希望在单击 Gmail 插件中的按钮时弹出小屏幕。

截至目前,我已在我的部分中添加了一个按钮,如下所示,并将其绑定到操作处理程序“htmltest”:-

var htmlTest = CardService.newAction().setFunctionName('htmlTest');
var button = CardService.newTextButton().setText("htmlTest").setOnClickAction(htmlTest);
section.addWidget(button);
Run Code Online (Sandbox Code Playgroud)

这就是 htmlTest 的样子:-

function htmlTest(e){
return HtmlService.createHtmlOutputFromFile('doubleCheck');
}
Run Code Online (Sandbox Code Playgroud)

这是我希望弹出的 doubleCheck.html 文件:-

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    Hello, World!
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是当我单击该按钮时,它会出现运行时错误:- 标记中缺少必填字段:

创建 Gmail 时如何使用 HtmlService 的任何线索

google-apps-script gmail-addons

5
推荐指数
1
解决办法
1842
查看次数

无法获取活跃用户的电子邮件

我尝试记录用户的电子邮件以进行调试。我用了Session.getActiveUser().getEmail()。我收到以下错误。

例外:您无权调用 Session.getActiveUser.getEmail() 所需权限: https: //www.googleapis.com/auth/userinfo.email

因此我将https://www.googleapis.com/auth/userinfo.email范围添加到我的插件中。现在我收到以下错误

该脚本无权获取活动用户的身份。

但是,如果我在我的帐户(Gsuite)或我们域中的任何其他用户上运行它,我不会看到错误。仅供参考:我是该插件的所有者。

我缺少任何范围吗?

google-apps-script gmail-addons

5
推荐指数
1
解决办法
5086
查看次数

从 Google Apps 脚本访问浏览器 cookie

我是 Google Addon 开发的新手。我一直在使用 Google Apps 脚本开发 Gmail 插件。

我当前的要求是从在同一浏览器(在不同选项卡中)中进行身份验证的网站中检索一些信息。该网站支持不同的身份验证类型(SAML SSO、Active Directory 等)并需要多因素身份验证。因此,不可能(或不切实际)从 Apps 脚本执行所有类型的身份验证。

相反,我的想法是让用户手动登录(而不是插件脚本本身)到站点(使用为用户配置的任何身份验证)。登录操作会导致身份验证 cookie 存储在浏览器中。我想在这个插件脚本中使用这些 cookie 来执行 API。

这适用于 chrome 扩展。

所以,我的问题是,是否可以使用 Apps 脚本中的 URL 名称在浏览器中检索存储的 cookie?

cookies google-apps-script gmail-addons

5
推荐指数
1
解决办法
307
查看次数

是否可以为通过 GMAIL API 发送的电子邮件启用 SPF、DKIM 和 DMARC?

正如标题所述,是否有人成功为通过gmail api发送的电子邮件启用了 3 种安全机制?

目前,我通过 gmail-api (http) 发送的所有电子邮件均已被收件人成功接收,但没有任何安全标记。这适用于我们的 chrome 扩展和 gmail-addon。

gmail gmail-api gmail-addons

5
推荐指数
0
解决办法
839
查看次数

谷歌应用程序脚本,gmail插件获取TextInput值

我用谷歌脚本创建了简单的gmail插件,因为我在这里很挣扎,

当我们执行某些操作时如何获取textinput值,我检查了文档,我找不到任何方法

的TextInput

我试过以下代码,

var card = CardService.newCardBuilder();
  card.setHeader(CardService.newCardHeader().setTitle("Login Here"));
  var section = CardService.newCardSection()
  var cleint_id_Input = CardService.newTextInput()
     .setFieldName("client_id")
     .setTitle("Please enter clinet id")
  var username_Input = CardService.newTextInput()
     .setFieldName("username")
     .setTitle("Please enter username")
  var password_Input = CardService.newTextInput()
     .setFieldName("password")
     .setTitle("Please enter password")
  section.addWidget(cleint_id_Input)
  section.addWidget(username_Input)
  section.addWidget(password_Input)
  Logger.log("Input Value%s",cleint_id_Input)
  //Login action button
  var action = CardService.newAction().setFunctionName('loginCallback');
  section.addWidget(CardService.newTextButton().setText('Login').setOnClickAction(action))  
  card.addSection(section)
Run Code Online (Sandbox Code Playgroud)

我需要"loginCallback"函数中的inputText值

提前致谢

google-apps-script gmail-addons

2
推荐指数
1
解决办法
1388
查看次数

使用 Google 应用脚本开发 Gmail 插件时,如何安全地将数据存储在 Google 中?

我正在创建一个 Gmail 插件,我的疑问是如何在 Google 端保存一些安全和机密的信息,以便稍后在我的代码中使用它。Google 是否提供某种安全存储机制?

google-api google-apps-script google-apps-marketplace gmail-addons google-workspace

2
推荐指数
1
解决办法
340
查看次数

如何在 Gmail 插件中将卡片标题标题设为粗体?

如何在 Gmail 插件中将卡片标题标题设为粗体?我尝试了这个,但它不起作用:

function mainCardBuild(content) {
    return CardService.newCardBuilder()
        .setHeader(
            CardService.newCardHeader().setTitle('<b> MY TITLE </b>')) //doesn`t work bold
        .addSection(content)
        .build();
}
Run Code Online (Sandbox Code Playgroud)

我确信我们有机会做到这一点,因为我在 Slack Add-on 中看到了它。 Slack 中的粗体卡标题

google-apps google-apps-script google-apps-script-addon gmail-addons

2
推荐指数
1
解决办法
853
查看次数

Gmail AppScript mailMessage.getFrom() 返回电子邮件而不是姓名

类似于:在JavaMail中使用message.getFrom()时仅显示电子邮件地址,但无法应用该解决方案。

尝试在 Google AppScript 上使用Gmail 的mailMessage.getFrom() 。

默认脚本:

function loadAddOn(event) {
  var accessToken = event.messageMetadata.accessToken;
  var messageId = event.messageMetadata.messageId;
  GmailApp.setCurrentMessageAccessToken(accessToken);
  var mailMessage = GmailApp.getMessageById(messageId);
  var from = mailMessage.getFrom();

  var openDocButton = CardService.newTextButton()
  .setText("open docs")
  .setOpenLink(
    CardService.newOpenLink().setUrl("https://developers.google.com/gmail/add-ons/"));

  var card = CardService.newCardBuilder()
  .setHeader(CardService.newCardHeader().setTitle("My First Gmail Addon"))
  .addSection(CardService.newCardSection()
              .addWidget(CardService.newTextParagraph().setText("The email is from: " + from))
              .addWidget(openDocButton))
  .build();

  return [card];
}

Run Code Online (Sandbox Code Playgroud)

var from = mailMessage.getFrom();

这将返回发件人的姓名,而不是实际的电子邮件地址。尝试getFrom().getAddress()尝试上面提到的帖子,但显然它不起作用,getFrom()返回了一个字符串。

任何想法如何访问包含发件人元数据的数据或字典数组,以便我可以自己提取电子邮件、姓名等?

google-apps-script gmail-addons

2
推荐指数
1
解决办法
1181
查看次数

Gmail 插件将参数传递给由卡操作触发的函数

我正在构建一个 Gmail 插件,它可以创建一张只有一个表单按钮的卡片。单击后,我希望该按钮触发一个功能,将打开的电子邮件的内容发送到外部 API。

到目前为止,我有这样的事情:

function createCard(event) {
  var currentMessage = getCurrentMessage(event).getBody();
  var section = CardService.newCardSection();

  var submitForm = CardService.newAction()
    .setFunctionName('callAPI');

  var submitButton = CardService.newTextButton()
    .setText('Submit')
    .setOnClickAction(submitForm);

  section.addWidget(CardService.newButtonSet()
    .addButton(submitButton));

  var card = CardService.newCardBuilder()
    .setHeader(CardService.newCardHeader()
    .setTitle('Click this button'))
    .addSection(section)
    .build();

  return [card];
}

function callAPI(event) {
  var payload = { "msg": msg }; // msg is the parameter I need to get from the function call
  var options = {
        "method"  : "POST",
        "contentType": "application/json",
        "payload" : JSON.stringify(payload),
        "followRedirects" : true, …
Run Code Online (Sandbox Code Playgroud)

google-apps-script gmail-addons

2
推荐指数
1
解决办法
1227
查看次数