【发布时间】:2021-11-18 00:18:05
【问题描述】:
我已经尝试了各种我读过并能想到的东西:
将范围添加到清单文件中:
{
"timeZone": "America/Fortaleza",
"dependencies": {
"enabledAdvancedServices": [
{
"userSymbol": "People",
"version": "v1",
"serviceId": "peopleapi"
}
]
},
"oauthScopes": [
"https://www.google.com/m8/feeds",
"https://www.googleapis.com/auth/spreadsheets"
],
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}
在服务中启用人员 API
我已删除所有应用权限并从头开始
我已尝试更改浏览器,以防可能出现 cookie
这就是我现在尝试联系的方式:
function onEdit(e) {
var sht = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Contacts");
var rng = e.range;
var row = rng.getRow();
var drng = sht.getRange(row, 2, 1, 22).getValues();
var email = sht.getRange(row, 2, 1, 1).getValue();
var gmailContact = ContactsApp.getContactsByEmailAddress(email);
Logger.log(gmailContact);
}
这是我得到的错误: 您没有权限调用 ContactsApp.getContactsByEmailAddress 所需权限:https://www.google.com/m8/feeds
我现在正在尝试读取联系人,并且会在我编辑包含现有联系人的行时更新它。
感谢您的帮助!
【问题讨论】:
-
如果您尝试将
onEdit的脚本作为简单触发器运行,请将触发器更改为可安装触发器。我认为这可能是您的问题的原因。届时,请将函数名称从onEdit重命名为其他名称,以防止简单触发器和可安装触发器重复运行。如果您已经尝试将脚本作为可安装触发器运行,我深表歉意。 -
好吧,@Tanaike! ...照常!谢谢!
-
感谢您的回复。我很高兴你的问题得到了解决。当您的问题解决后,您可以将其发布为答案吗?这样,它对遇到相同问题的其他用户很有用。
标签: google-apps-script google-sheets google-contacts-api