微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google People API:来自非空联系人组的 member_resource_names 返回 nil 问题:说明:解决方案:参考:

如何解决Google People API:来自非空联系人组的 member_resource_names 返回 nil 问题:说明:解决方案:参考:

根据 documentation in the codemember_resource_names 应该返回“作为联系人组成员的联系人资源名称列表”,但它返回 nil。

我正在做这样的事情(红宝石):

service = Google::Apis::PeopleV1::PeopleServiceService.new
# authentication code
contact_group = service.get_contact_group("contactGroups/xxxxxxxxxxxxxxxx")
=> #<Google::Apis::PeopleV1::ContactGroup:0x00007fd69fca6f48
  @etag="xxxxxxxxxxxx",@formatted_name="Contact list",@group_type="USER_CONTACT_GROUP",@member_count=10,@Metadata=#<...>,@name="Contact list",@resource_name="contactGroups/xxxxxxxxxxxxxxxx">
contact_group.member_resource_names
=> nil

即使 member_count 是 10,member_resource_names 也始终返回 nil。

我使用的是 ruby​​ 2.4 和 google gem 0.52.0。

还有其他人看到过这个问题吗?

解决方法

问题:

调用 contactGroups.get 时,应指定 maxMembers

说明:

如果您访问有关 contactGroups 的官方 API 文档,您会看到 memberResourceNames 仅在某些情况下填充:

memberResourceNames[]:仅输出。作为联系人组成员的联系人资源名称的列表。该字段仅针对 GET 请求填充,并且将仅返回与 get 请求中的 maxMembers 一样多的成员

maxMembers,不过,如果没有指定,defaults to 0

ma​​xMembers:可选。指定要返回的最大成员数。 如果未设置,则默认为 0,这将返回零个成员

解决方案:

因此,基于库示例:

def get_contact_group(resource_name,max_members: nil,fields: nil,quota_user: nil,options: nil,&block)

你应该改变这一行:

contact_group = service.get_contact_group("contactGroups/xxxxxxxxxxxxxxxx")

与此类似:

contact_group = service.get_contact_group("contactGroups/xxxxxxxxxxxxxxxx",100)

其中 100 是返回成员的最大数量(根据您的偏好进行更改)。

参考:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。