如何解决Google People API:来自非空联系人组的 member_resource_names 返回 nil 问题:说明:解决方案:参考:
根据 documentation in the code,member_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:
maxMembers:可选。指定要返回的最大成员数。 如果未设置,则默认为 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 举报,一经查实,本站将立刻删除。