域名的Google全球地址列表限制为250个结果[rehash]

时间:2015-10-30 16:56:01

标签: google-api google-apps google-contacts

Reposting due to lack of answers

我试图查询特定域名的Google全球地址列表,由此答案引导(特别是Jay Lee的回答)。

它的一切都很好,并且在Google的OAuth Playground中完美运行,但它似乎仅限于250个用户。鉴于此功能似乎完全没有记录,并且我无法通过查看他们的github仓库(特别是此文件)来判断,是否有人知道如何查询下一个250个用户或如何设置结果数量? / p>

谢谢!

1 个答案:

答案 0 :(得分:0)

我的最后一个答案被转换为评论,但我现在对这个问题有一个完整的答案。

编辑:我反复提到JSON但您不需要在JSON中解析它以获取syncToken。无论如何,Google都会为您提供syncToken。

Google GAL API似乎与Google日历或YouTube API的“nextPageToken”参数类似,只要您有令牌,就可以查询结果的下一页。

Google GAL使用“syncToken”参数作为替代品。与其他Google API非常相似,如果您将此syncToken附加到网址末尾,您将获得下一页结果。请注意,我无法使startIndex参数起作用(这允许您从JSON中的特定项开始),因此如果您尝试通过查询获取特定结果,则很可能必须解析整个JSON文件。在解析的JSON中,应该有一个名为“gal $ syncToken”的密钥。您可以在“entry”键/数组之前的json中找到它,这是列出所有全局域联系人的位置。

以下是一个示例:

"gal$syncToken": {
  "$t": "0_1001_17011_AAN3FFNH2AEJ3SFBKZDRS36AHRXHND47YACXLGFJF5QBXCSQLUK57EX3LC765CU5IWG6ZXWHPS5WKHSDFJ26LRI5FRIVIQ3Z532PWKG3ZG45JW3RVCDZMWK5LLLHZSCBTJH5U6Q4LZRG4PKWQE42AOIPC4VJCZQIP5MBJHNUBZZJNLKISKETTQ6DNTRAPTI"
},

您的syncToken看起来会有所不同。为了获得下一页结果,Google实际上提供了一个已经预先附加了syncToken的链接:

  {
    "rel": "next",
    "type": "application/atom+xml",
    "href": "https://www.google.com/m8/feeds/gal/example.com/full?sync-token=0_1001_17011_AAN3FFNH2AEJ3SFBKZDRS36AYRXHND47YACXLGFJF5QBXCSQLUK57EX3LC765CU5IWG6ZXWHPS5WKHSDFJ26LRI5FRIVIQ3Z562PWKG3ZG45JW3RVCDZMWK5LLLH6SCBTJH5U6Q4LZRG4PKWQE42AOIPC4VJCZQIP5MBJHNUBZZJNLKBSKETTQ6DNTRAPTI"
  },

但是,这只会给你接下来的250个结果。如果您想在每个页面上添加更多内容,可以将max-results参数附加到此页面,然后让Google以JSON格式将其吐出。

https://www.google.com/m8/feeds/gal/example.com/full?sync-token=INSERT_SYNCTOKEN_HERE&alt=json&max-results=10000

希望这有助于任何人看到这一点。 Google GAL似乎在很大程度上没有记录,我无法在互联网上的任何其他地方找到这个问题的答案。如果谷歌的任何人都可以确认这是实现这一目标的最佳方法,那就太棒了!