我刚开始尝试构建新的 Gmail 插件,并遇到以下错误消息:
“您无权调用 fetch”
在脚本编辑器中测试插件时会发生这种情况,并且在我的 Gmail 中部署时也会发生这种情况。这是代码示例:
function getContextualAddOn(e) {
var API_KEY = 'TESTKEY';
var URL = 'https://[REDACTED]';
var options = {
'method' : 'post',
'contentType': 'application/json',
'headers': {
'x-api-key': API_KEY
},
'payload' : JSON.stringify({ 'foo': 'bar' })
};
var response = UrlFetchApp.fetch(URL, options);
[more code that builds a card]
}
如您所见,这是一个非常简单的UrlFetchApp.fetch
. 我是 Apps 脚本的新手,所以我的清单中可能缺少一些权限声明或范围。我尝试了一个更简单的示例,只是使用UrlFetchApp.getRequest
,但也失败了“您没有权限调用getRequest
”。
插件的清单与示例中的相同:
{
"timeZone": "America/New_York",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER",
"oauthScopes": [
"https://www.googleapis.com/auth/gmail.addons.execute",
"https://www.googleapis.com/auth/gmail.addons.current.message.readonly",
"https://www.googleapis.com/auth/userinfo.email"
],
"urlFetchWhitelist": [
"https://[REDACTED]"
],
"gmail": {
"name": "Test Add-On",
"logoUrl": "some url",
"primaryColor": "#4285F4",
"secondaryColor": "#4285F4",
"contextualTriggers": [{
"unconditional": {},
"onTriggerFunction": "getContextualAddOn"
}],
"version": "TRUSTED_TESTER_V2"
}
}
UrlFetchApp
应该允许在 Gmail 插件中使用,或者这只是一个错误?我是否需要在清单中添加一些内容或在脚本编辑器中启用其他选项?