【问题标题】:Permission issues with Google Contacts API in Google scriptGoogle 脚本中 Google Contacts API 的权限问题
【发布时间】:2021-08-12 11:13:07
【问题描述】:

我正在为客户处理一个项目,我需要使用Google Contacts API 将联系人添加到Google Contacts。代码:

function createContact(data) {
  var contact = ContactsApp.createContact(data.firstName, data.lastName, data.email);
  contact.addAddress(data.address);
}

在触发器上运行,我收到此错误:Exception: You do not have permission to perform that action.(当我从编辑器运行函数时也会发生同样的情况)。我将权限添加到项目 (Permissions screenshot) 和范围到 appsscript.json 文件:

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

其他问题:如果我的 Google 帐户中有此项目,我如何访问 Google 通讯录并将联系人添加到客户的 Google 帐户?

【问题讨论】:

  • 你应该考虑使用 people api
  • 如果您可以让您的客户为您设置共享驱动器,那么您的访问将大大改善。
  • 是ContactsApp.createContact(data.firstName, data.lastName, data.email) 引发了这个错误吗?还是另一条线?添加范围后您是否重新授权脚本?
  • 这很可能是未经授权的触发器。你正在运行什么样的触发器?
  • 感谢大家的cmets。是的,我正在使用一个简单的触发器,所以也许这就是问题所在,但是发送电子邮件可以使用简单的触发器,尽管它需要授权(当我从编辑器运行它时我也会收到错误消息)。我将使用 People API 而不是 Contacts API。

标签: google-apps-script google-api google-contacts-api


【解决方案1】:

我假设您正在运行simple trigger。官方文档是这样说的:

他们无法访问需要授权的服务。例如,简单触发器无法发送电子邮件,因为 Gmail 服务需要授权,但简单触发器可以使用匿名语言服务翻译短语。

您可能需要更改工作流程并使用可安装的触发器或其他东西。如果您需要这方面的帮助,请随时创建一个新问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多