我想要实现的目标?
打开电子邮件时,我的小工具会显示收件箱中的所有电子邮件。
我拥有的东西
下面的Gadget.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="Revelation Bridge"
description="Revelation Bridge for Gmail"
height="220"
author="Yellowfish Software"
author_email="info@yellowfishsoftware.com"
author_location="Westport, CT">
<!-- This one is not specific to Gmail contextual gadgets. -->
<Require feature="dynamic-height"/>
<Require feature="google.contentmatch">
<Param name="extractors">
google.com:SenderEmailExtractor
</Param>
</Require>
</ModulePrefs>
<Content type="html" view="card">
<![CDATA[
<!-- Start with Single Sign-On -->
<script type="text/javascript">
<!-- Fetch the array of content matches. -->
matches = google.contentmatch.getContentMatches();
var matchList = document.createElement('UL');
var listItem;
var extractedText;
<!-- Iterate through the array and display output for each match. -->
for (var match in matches) {
for (var key in matches[match]) {
listItem = document.createElement('LI');
extractedText = document.createTextNode(key + ": " + matches[match][key]);
listItem.appendChild(extractedText);
matchList.appendChild(listItem);
}
}
document.body.appendChild(matchList);
gadgets.window.adjustHeight(100);
</script>
]]>
</Content>
</Module>
另外,当我不告诉Google我的清单文件的位置时,我不知道清单文件的目的是什么?
我希望我的小工具能够在每封电子邮件中显示自己。在 API管理器下 - &gt; Google Apps Marketplace SDK - &gt; 配置 - &gt; Gmail上下文小工具扩展程序,我有 Extractor网址作为“tag:google.com,2010:auth / contextual / extractor / FROM_ADDRESS”并选择了一个范围“邮件 - 发件人地址”。小工具网址为https://outlookbridge.synbeta.com/Google/gadget.xml。
我在打开的任何电子邮件中都没有看到我的小工具。是什么赋予了?
答案 0 :(得分:3)
我终于想出了如何完成这项工作,这就是我所做的和截至2016年8月24日的工作
这里的重点。我理解提取器和小工具的方式。提取器是指定您希望小工具显示在哪些电子邮件上的条件。如果您希望您的小工具显示所有电子邮件,那么您将使用提取器google.com:MessageIDExtractor。
这就是我指定提取器的方式,其中所有6个,如果你想要一个小工具显示所有电子邮件,你可能只需要使用一个,但我想测试我会得到什么。
在提取器旁边,您还可以看到选择范围。
在小工具文件中指定提取器,如下所示
<Require feature="google.contentmatch">
<Param name="extractors">google.com:SenderEmailExtractor, google.com:RawSubjectExtractor, google.com:SubjectExtractor, google.com:EmailBodyExtractor, google.com:EmailTimeExtractor, google.com:MessageIDExtractor</Param>
</Require>
您在我的设置中看到的参数,我从这里得到它们,我没有打扰更改这些参数的名称 https://developers.google.com/gmail/contextual_gadgets#supported_extractors
6个提取器的提取器参数值设置为“。*”。这基本上告诉Google为所有值加载提取器。
点击保存
保存页面后,您会在顶部看到测试安装流程按钮。点击它只为您安装小工具。
完成安装过程后,可能需要5分钟才能安装小工具。您可以通过点击中的启动栏图标和更多
来了解您的小工具的安装情况如果您仍未看到自己的小工具,请在包含此网址的新标签页中打开您的收件箱https://mail.google.com/mail/u/0/?nogadgetcache=1#inbox
您可以在小工具中使用此代码来打印提取器捕获的所有值
<Content type="html" view="card">
<![CDATA[
<!-- Start with Single Sign-On -->
<script type="text/javascript">
<!-- Fetch the array of content matches. -->
matches = google.contentmatch.getContentMatches();
var matchList = document.createElement('UL');
var listItem;
var extractedText;
<!-- Iterate through the array and display output for each match. -->
for (var match in matches) {
for (var key in matches[match]) {
listItem = document.createElement('LI');
extractedText = document.createTextNode(key + ": " + matches[match][key]);
listItem.appendChild(extractedText);
matchList.appendChild(listItem);
}
}
document.body.appendChild(matchList);
gadgets.window.adjustHeight(100);
</script>
]]>
</Content>
为了完成起见,这是我的示例小工具文件
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="In Gadget"
description="In Gadget"
height="220"
author="In Gadget Software"
author_email="info@InGadget.com"
author_location="In Gadget, Earth">
<!-- This one is not specific to Gmail contextual gadgets. -->
<Require feature="dynamic-height"/>
<Require feature="google.contentmatch">
<Param name="extractors">google.com:SenderEmailExtractor, google.com:RawSubjectExtractor, google.com:SubjectExtractor, google.com:EmailBodyExtractor, google.com:EmailTimeExtractor, google.com:MessageIDExtractor</Param>
</Require>
</ModulePrefs>
<Content type="html" view="card">
<![CDATA[
<!-- Start with Single Sign-On -->
<script type="text/javascript">
<!-- Fetch the array of content matches. -->
matches = google.contentmatch.getContentMatches();
var matchList = document.createElement('UL');
var listItem;
var extractedText;
<!-- Iterate through the array and display output for each match. -->
for (var match in matches) {
for (var key in matches[match]) {
listItem = document.createElement('LI');
extractedText = document.createTextNode(key + ": " + matches[match][key]);
listItem.appendChild(extractedText);
matchList.appendChild(listItem);
}
}
document.body.appendChild(matchList);
gadgets.window.adjustHeight(100);
</script>
]]>
</Content>
</Module>
据我所知,您不需要清单文件来测试您的小工具。
如果小工具内容类型为html且类型为卡,则上述小工具似乎无效。