Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用谷歌电子表格中的ContactsApp_Google Apps Script_Google Sheets_Google Contacts Api_Custom Function - Fatal编程技术网

Google apps script 使用谷歌电子表格中的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; } 第一次从脚本编辑器

概述:在GoogleAppsScript函数中调用ContactsApp.getContact()时,从脚本编辑器运行时,该函数工作正常。然而,当我试图从谷歌电子表格中使用我的函数时,我得到了一个权限错误。如何解决此权限错误并从电子表格中的自定义函数使用ContactsApp

详细信息: 我创建一个新的电子表格,打开脚本编辑器,并定义以下简单函数:

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,因为需要授权,而自定义函数不允许这样做