Google 域的全局地址列表限制为 250 个结果 [重新哈希]

Google Global Address List for Domain limited to 250 results [rehash]

Reposting due to lack of answers

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

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

谢谢!

我的最后一个回答被转成了评论,但我现在对这个问题有了完整的回答。

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

Google GAL API 的运行方式似乎与 Google 日历或 YouTube API 的 "nextPageToken" 参数类似,它允许只要你有令牌,你就可以查询下一页结果。

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

这是它的外观示例:

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

您的 syncToken 看起来会有所不同。要获得下一页结果,Google 实际上提供了一个 link,它已经预先附加了 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 似乎在很大程度上没有记录在案,我无法在互联网上的其他任何地方找到这个问题的答案。如果 Google 的任何人都可以确认这是完成此任务的最佳方法,那就太好了!