in auth/export_users.go [75:109]
func (it *UserIterator) fetch(pageSize int, pageToken string) (string, error) {
query := make(url.Values)
query.Set("maxResults", strconv.Itoa(pageSize))
if pageToken != "" {
query.Set("nextPageToken", pageToken)
}
url, err := it.client.makeUserMgtURL(fmt.Sprintf("/accounts:batchGet?%s", query.Encode()))
if err != nil {
return "", err
}
req := &internal.Request{
Method: http.MethodGet,
URL: url,
}
var parsed struct {
Users []userQueryResponse `json:"users"`
NextPageToken string `json:"nextPageToken"`
}
_, err = it.client.httpClient.DoAndUnmarshal(it.ctx, req, &parsed)
if err != nil {
return "", err
}
for _, u := range parsed.Users {
eu, err := u.makeExportedUserRecord()
if err != nil {
return "", err
}
it.users = append(it.users, eu)
}
it.pageInfo.Token = parsed.NextPageToken
return parsed.NextPageToken, nil
}