当我尝试使用共享联系人API检索所有域共享联系人时,我一直在努力解决问题
根据此页面:https://developers.google.com/admin-sdk/domain-shared-contacts/#Retrieving 用于检索所有域共享联系人的API是:
GET https://www.google.com/m8/feeds/contacts/example.com/full
我的问题是,当我在我的应用程序中实现此调用时,它不会返回所有联系人,而是会返回我所拥有的联系人的一部分...
例如,我使用API创建了大约200个共享联系人,当我想输入新电子邮件或浏览目录时我可以看到它们,但是当我使用API调用来检索所有这200个联系人时,我在返回的结果中只能得到大约20-30个......
我尝试过这些命令组合:
wget https://www.google.com/m8/feeds/contacts/DOMAINNAME_COM/full?access_token=ACCESS_TOKEN
curl -i https://www.google.com/m8/feeds/contacts/DOMAINNAME_COM/full -H "Authorization: Bearer ACCESS_TOKEN"
即使是来自浏览器的直接请求,也可以在地址栏中键入API调用,如下所示:
https://www.google.com/m8/feeds/contacts/DOMAINNAME_COM/full?access_token=ACCESS_TOKEN
但我仍然只得到了整个~200个联系对象的20-30个条目...
我非常感谢任何帮助和指导,因为我对此感到有点沮丧...
问候
萨利赫
答案 0 :(得分:1)
要获得此功能,您可以在使用query parameters检索联系人时使用max-results查询参数。但是,有一些constraints适用于共享联系人数据API。如果响应超过10MB,则会被截断。
注意:在一个响应中,Feed的返回量不会超过10MB。尝试这样做会导致截断数据。有关限制返回结果数的信息,请参阅使用查询参数检索联系人中的max-results查询参数。您可以通过重复跟踪返回的Feed的下一个链接来检索整个联系人列表,直到找不到这样的链接。
所以基本上你应该做几个请求,以便使用max-results查询参数和feed的下一个链接来获取所有联系人。
希望有所帮助!