ruby - Google People API:来自非空联系人组的 member_resource_names 返回 nil
问题描述
根据代码中的文档,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
, 但是,如果未指定,则默认为 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
(根据您的喜好更改)。
参考:
推荐阅读
- java - 正则表达式匹配非匹配组
- python-3.x - 在 Python3 中压缩写入 StringIO 缓冲区的 CSV 文件
- docker - 在 Docker 18.06 和 Docker Compose 1.20.0 中配置桥接网络和容器 CIDR 的问题
- r - brew install 后无法将软件包安装到 R
- c# - 将分钟转换为小时 - 分钟包括天
- vba - VBA - 在if语句中检查字符串是否是不同工作表的列中的1
- ios - 如果 CoreData NSPersistentContainer 内容被修改,则使用 KVO 触发操作
- sql-server - 如何使用每周计划状态表创建显示计划开始和结束日期的表格
- android - FirebaseAuth getCurrentUser 中偶尔会发生 NPE
- javascript - 在 React 中提交表单时收到未定义的错误?