Reposting due to lack of answers
我试图查询特定域名的Google全球地址列表,由此答案引导(特别是Jay Lee的回答)。
它的一切都很好,并且在Google的OAuth Playground中完美运行,但它似乎仅限于250个用户。鉴于此功能似乎完全没有记录,并且我无法通过查看他们的github仓库(特别是此文件)来判断,是否有人知道如何查询下一个250个用户或如何设置结果数量? / p>
谢谢!
答案 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似乎在很大程度上没有记录,我无法在互联网上的任何其他地方找到这个问题的答案。如果谷歌的任何人都可以确认这是实现这一目标的最佳方法,那就太棒了!