Google apps script 使用谷歌电子表格中的ContactsApp
概述:在GoogleAppsScript函数中调用ContactsApp.getContact()时,从脚本编辑器运行时,该函数工作正常。然而,当我试图从谷歌电子表格中使用我的函数时,我得到了一个权限错误。如何解决此权限错误并从电子表格中的自定义函数使用ContactsApp 详细信息: 我创建一个新的电子表格,打开脚本编辑器,并定义以下简单函数:Google apps script 使用谷歌电子表格中的ContactsApp,google-apps-script,google-sheets,google-contacts-api,custom-function,Google Apps Script,Google Sheets,Google Contacts Api,Custom Function,概述:在GoogleAppsScript函数中调用ContactsApp.getContact()时,从脚本编辑器运行时,该函数工作正常。然而,当我试图从谷歌电子表格中使用我的函数时,我得到了一个权限错误。如何解决此权限错误并从电子表格中的自定义函数使用ContactsApp 详细信息: 我创建一个新的电子表格,打开脚本编辑器,并定义以下简单函数: function example() { ContactsApp.getContacts(); return 5; } 第一次从脚本编辑器
function example() {
ContactsApp.getContacts();
return 5;
}
第一次从脚本编辑器运行时,系统会提示我批准对联系人的访问。我同意,这个函数运行得很好。我可以添加日志记录并验证它是否按预期工作
现在回到电子表格中,我在单元格中使用公式“=example()”,希望它将单元格的值设置为5。相反,单元格会显示“#错误!”并将鼠标悬停在单元格上显示详细错误:
您没有呼叫ContactsApp.getContacts的权限。所需权限:https://www.google.com/m8/feeds (第2行)
查看脚本的项目属性,我可以看到https://www.google.com/m8/feeds
确实被列为必需的oauth范围
如何解决此权限错误并使用电子表格中自定义函数的ContactsApp?我在此处的文档中找到了答案:
与大多数其他类型的应用程序脚本不同,自定义函数从不要求用户授权访问个人数据。因此,他们只能呼叫无法访问个人数据的服务,特别是以下服务:
隐藏物
HTML
JDBC
语言
锁
地图
性质
电子表格
URL获取
公用事业
XML
因此,目前不允许按照问题的要求在自定义函数中使用ContactsApp,因为需要授权,而自定义函数不允许这样做