无法在 Google Apps 脚本中访问 People.ContactGroups.get

Cannot access People.ContactGroups.get in Google Apps script

如何在 Google Apps 脚本中正确调用 People.ContactGroups.get?

我正在将管理联系人列表/电子邮件的 Google Apps 脚本迁移到“人员”API。我的想法是提取属于特定组的联系人的电子邮件地址列表,但我根本无法 People.ContactGroups.get 表现。

groupdata = People.ContactGroups.get ( { "resourceNames" : group, "maxMembers": 200 } );

一直失败(组是 "contactGroups/64e6332b89d0525b" 形式的字符串)。

Google People API 文档中的“试试这个 API” 工作正常,但是 运行 Apps 调试器中的代码产生了一个无法理解的错误(一个页面未处理的 HTML 被截断,因此您看不到任何内容)。其他人 API 函数中格式错误的参数正常失败,在调试器中出现可以理解的错误消息,但我根本无法让“.get”工作。

更多上下文:

var group = getGroupResourceName(groupname);
 Logger.log (group);

 var groupdata = People.ContactGroups.get ( { "resourceNames" : group, "maxMembers": 200  } );

  var len = groupdata.memberResourceNames.length;

...etc  (code to extract the list of all email addresses in the contact group)

函数 getGroupResourceName(groupname) returns 具有可读名称(如“成员”)的组的资源名称,它可以毫无问题地调用 People.ContactGroups.list()

(产生的错误示例:

12:56:14 AM Notice  Execution started
12:56:13 AM Info    contactGroups/4bdcdca10e05c68c
12:56:14 AM Error   
HttpResponseException: Response Code: 404. Message: <!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 404 (Not Found)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;
padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* >
 body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}
a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}
#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png)
 no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi)
{#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png)
no-repeat 0% 0%/100% 100%;-moz-border-image:url(//w....
getmailgroup    @ Code.gs:29
run @ Code.gs:17

)

我认为在您的脚本中,People.ContactGroups.get 的参数需要修改。那么,下面的修改呢?

发件人:

var groupdata = People.ContactGroups.get ( { "resourceNames" : group, "maxMembers": 200  } );

收件人:

var groupdata = People.ContactGroups.get(group, {"maxMembers": 200 });
  • 在这种情况下,它假定 group 是有效的资源名称。请注意这一点。

参考: