【问题标题】:Google people.api, how to get members of a specific group?Google people.api,如何获取特定组的成员?
【发布时间】:2020-01-27 19:05:31
【问题描述】:

使用 people.api 我只能读取主组中的人员,使用 people.connections.list:

GET https://people.googleapis.com/v1/people/Me/connections

使用 MS REST.api,我还可以读取子组中的人员

GET https://outlook.office.com/api/v2.0/me/contacts
GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/contact

我知道我可以使用contactGroups.get 来查找资源名称。但是我需要一个 people.get 请求每个资源名称。

很遗憾,这是不可能的,因为很快就会超过允许的最大请求数(75/分钟)。

那么解决办法是什么?

【问题讨论】:

    标签: google-people-api


    【解决方案1】:

    答案:

    您可以使用people.getBatchGet端点向API发出批量请求,并在一个请求中获取多个资源。

    更多信息:

    使用contactGroups.get 调用获取资源ID 后,您可以使用批处理请求方法一次获取多个响应。使用:

    GET https://people.googleapis.com/v1/people:batchGet
    

    作为您的端点,并指定您希望从resourceNames 获取哪个personFields

    您可以在people.getBatchGethereTry This API 功能上对其进行测试。每个resourceName 都采用people/cXXXXXXXXXXXXXXXXXXX 的形式,您可以从contactGroups.get 响应中获得。

    请注意,根据文档:

    一个请求中最多可以包含 50 个资源名称。

    示例资源:

    {
      "personFields": "emailAddresses",
      "resourceNames": [
        "people/c1111111111111111111",
        "people/c2222222222222222222",
        "people/c3333333333333333333"
      ]
    }
    

    参考资料:

    【讨论】:

    • 非常感谢!但是,我可以在一个 people.batchGet 中放入多少个资源名称???
    • 您可以在一个请求中包含最多 50 个资源名称 - 我现在已将信息添加到我的答案中。不过,我很乐意提供帮助!如果可以的话,出于文档目的,请接受对您有帮助的答案 (✓) - 它可以帮助将来遇到相同问题的其他人也找到解决方案:)
    • 另一个问题:如何构建resourceNames字符串(资源是如何分离的)?
    • 这取决于您的实现,但 JSON 结构是请求资源中的一个数组 - 我现在在我的答案中放了一个示例。
    • 我错过了逗号,谢谢。一个普遍的问题:Google 中是否有任何群组?当我调用我的联系人时,我看不到组,而是看到标签。即使我在标签下创建联系人,它也存在于 MyContacts 下。标签下的值只是指向实际联系人的指针。
    猜你喜欢
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2013-12-14
    • 2017-06-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2012-03-15
    相关资源
    最近更新 更多