我们正在尝试接收有关客户的信息,我们得到的是20个结果,也想搜索下一页。应该遍历所有页面直到null,但是在使用Web Explorer时无法创建循环,或者?
应该粘贴什么值来接收所有结果? (将pageToken字段留空只会给我们20个结果。
https://developers.google.com/admin-sdk/reseller/v1/reference/subscriptions/list#try-it
答案 0 :(得分:0)
为了获得超过20个结果,您必须在" maxResults"中提供一些价值。参数。
maxResults(无符号整数):检索大型列表时,maxResults是每页的最大结果数。 nextPageToken值将带您进入下一页。默认值为20.可接受的值为1到100(包括1和100)。
请查看此页面以获取参考:https://developers.google.com/admin-sdk/reseller/v1/reference/subscriptions/list
希望有所帮助!
答案 1 :(得分:0)
您的问题是您指定的是fields=
,但未将nextPageToken
作为其中一个字段。这就是响应中没有nextPageToken的原因。通过添加nextPageToken
(或完全省略字段),您的第一页结果将包含nextPageToken,您将为下一次调用提供pageToken
的值。冲洗,重复,直到你收到没有nextPageToken的回复。对于您的第一个电话,当然pageToken是空白的。
答案 2 :(得分:0)
从一个约翰到另一个约翰...
我没有直接调用REST HTTP端点,但是当使用G Suite Directory API Client Library时,我需要循环浏览多个页面以接收所有结果。
这是我使用的模式。对于G Suite Reseller API,这将非常相似。
/// <summary>
/// List all Members in a Domain Group.
/// <param name="service">DirectoryService object (Google Directory API)</param>
/// <returns>Collection of Member emails</returns>
/// </summary>
public IEnumerable<string> ListGroupMembers(DirectoryService service)
{
// Set Group key (email address of the Group or id of the Group)
var groupKey = "email-for-google-group@domain-name.com";
// Define parameters of request (Group email)
MembersResource.ListRequest request = service.Members.List(groupKey);
// Sadly, this won't work
request.MaxResults = int.MaxValue;
// And the max page size of response is ONLY 200!
// So you have to check for the next page token
// and execute another request if there is one
do
{
// Get Members response for this Group
Members response = request.Execute();
// Return the emails in this response page
foreach (var member in response.MembersValue)
{
yield return member.Email;
}
// Get next page token
request.PageToken = response.NextPageToken;
// Continue loop if next page token is not null
} while (!string.IsNullOrEmpty(request.PageToken));
}