如何设置权限以允许 Google 表格使用 Apps 脚本查询我的联系人?

How to set permissions to allow Google Sheets to use an Apps Script to query my Contacts?

我有一个 Google Sheet,我想检查我的联系人列表中是否已存在电子邮件地址。

我用这个函数写了一个 Apps 脚本

function isAContact(email) {
    if (null != ContactsApp.getContact(email)) {
        return 1;
    }

    return 0;
}

如果我 运行 这个函数直接在 Google Apps Scripts 中它工作正常,在第一个 运行.

上请求许可后

当我在 Google Sheets

中调用这个函数时
=isAContact(H4) // H4 is a cell with an email address

它抱怨 调用 getContact() 的权限被拒绝

如何允许此电子表格使用联系人 Api?

自定义函数不能做任何需要权限的事情: https://developers.google.com/apps-script/guides/sheets/functions

解决方法包括: 定时触发每 5 分钟将您的联系人列表拉入一个隐藏的 sheet 并设置您的比较。

更改您的功能以在从自定义菜单触发时在活动范围或预设范围内工作: https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#getUi()