【问题标题】:Getting list of emails in google contacts email directory from Google People API using Google Scripts使用 Google Scripts 从 Google People API 获取 google 联系人电子邮件目录中的电子邮件列表
【发布时间】:2021-10-27 18:47:39
【问题描述】:

如何让People.searchDirectoryPeople() 工作?这就是我得到的:

People.searchDirectoryPeople().setQuery("Justin");

我能够让https://developers.google.com/people/quickstart/apps-script 在应用程序脚本中工作,但到目前为止还没有。

我的目标是通过电子邮件或姓名搜索目录(最好同时学习如何做) - 提前致谢!

【问题讨论】:

    标签: javascript google-apps-script google-api google-people-api


    【解决方案1】:

    Google Apps 脚本高级服务基本上是其 REST API 对应物的包装器。因此,您通常需要查看 REST 文档以了解如何正确利用 API 端点。

    但是,在这种情况下,searchDirectoryPeople 端点的文档没有解释查询语法。幸运的是,查询语法对于许多 Google API 来说是通用的,并且记录在 Drive API 下。以下链接应该可以帮助您朝着正确的方向前进:

    https://developers.google.com/people/api/rest/v1/people/searchDirectoryPeople https://developers.google.com/drive/api/v3/search-files

    Node.js 标签下的第二个链接中提供了相关的代码示例。

    此外,请务必利用 Apps 脚本编辑器的代码完成功能来确定您可以将哪些参数传递给端点。

    【讨论】:

    • 谢谢!快速了解第一段:我应该学习其他任何编码语言/程序以充分利用 Google Apps 脚本/高级服务吗?另外,代码完成功能?自动填充,对吧?
    【解决方案2】:

    这是一个搜索目录的简单脚本:

    function searchDirectory() {
      var results = People.People.searchDirectoryPeople({ 
        query : "Tom",
        readMask: "names,emailAddresses,phoneNumbers",
        sources: "DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE"
      });
    
      Logger.log("results: " + JSON.stringify(results, null, 0));
    
      results.people?.forEach(person => Logger.log(person.names?.map(name => name.displayName) + ", " + 
                                                  person.emailAddresses?.map(email => email.value) + ", " + 
                                                  person.phoneNumbers?.map(phone => phone.value)));
    }
    

    第一个日志将输出原始结果对象,然后循环将遍历结果中的每个人并记录他们的姓名、电子邮件和电话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多