Google apps script 您没有呼叫getContacts的权限

Google apps script 您没有呼叫getContacts的权限,google-apps-script,gmail-api,google-contacts-api,Google Apps Script,Gmail Api,Google Contacts Api,我正在开发GMail插件,它可以将所有用户的联系人提取到卡中: var contacts = ContactsApp.getContacts(); 我已经在Google API控制台中启用了ContactsAPI并添加了范围: 但是错误仍然存在,并且项目的高级Google服务弹出窗口中缺少Contacts API。使用Contacts API时,无需启用Contacts API并设置范围。使用此功能时,在查看要使用的权限后,您的应用程序将自动选择ContactsApp正常工作所需的权限 我使

我正在开发GMail插件,它可以将所有用户的联系人提取到卡中:

var contacts = ContactsApp.getContacts();
我已经在Google API控制台中启用了ContactsAPI并添加了范围:


但是错误仍然存在,并且项目的高级Google服务弹出窗口中缺少Contacts API。

使用Contacts API时,无需启用Contacts API并设置范围。使用此功能时,在查看要使用的权限后,您的应用程序将自动选择ContactsApp正常工作所需的权限

我使用了与您相同的代码:

function myFunction() {
  // The code below will retrieve all the user's contacts
 var contacts = ContactsApp.getContacts();

  Logger.log(contacts)
}
以下是我收到的结果:

请检查并检查您的代码,您可能遗漏了一些内容


希望这能有所帮助。

通过反复试验,我成功地让
联系人sp.getContacts()
开始工作。您需要添加此范围:

"oauthScopes": [
  "https://www.google.com/m8/feeds",

因此,启用了其他功能。您的加载项是否已验证?你的应用程序中启用了哪些作用域?不幸的是,Gmail插件不是这样。似乎没有自动发现机制(还没有?)。有人知道实际需要的范围吗?事实上,我遇到了这个问题,因为我在进行Gmail插件开发时重写了我的应用程序清单,并在那里定义了OAuth范围。在这种情况下,谷歌没有提示我,因为它无法自动检测所需的作用域。解决方案是手动添加OAuth范围,如@wulftone的答案所示