im trying to get more users than 100 (default limit). Unfortunately, documentation is pretty simple (lot of stuff i search in sources of sdk) But i have no clue how to pass nextLink argument skiptoken. In v1 of SDK i just expand url in GET i suppose, but i would like to use v2 of SDK. I saw nextLink in delta-query (but this is something else).
i try this, but its not working.
$nextlink = str_replace('https://graph.microsoft.com/v1.0/users?$skiptoken=','',$response->getOdataNextLink());
$request = new UsersRequestBuilderGetRequestConfiguration();
$request->queryParameters = UsersRequestBuilderGetRequestConfiguration::createQueryParameters();
$request->queryParameters->expand = array('skiptoken' => $nextLink);
$response = $o365->users()->get($request)->wait();
i also try, i know there is no skiptoken param
$request = new UsersRequestBuilderGetRequestConfiguration();
$request->queryParameters = UsersRequestBuilderGetRequestConfiguration::createQueryParameters();
$request->queryParameters->skiptoken = $nextLink;
$response = $o365->users()->get($request)->wait();
thank you.
In v2 SDK, there should be PageIterator
for paging through a collection
$users = $graphServiceClient->users()->get()->wait();
$pageIterator = new PageIterator($users, $graphServiceClient->getRequestAdapter());
$counter = 0;
$callback = function Microsoft\Graph\Generated\Models\User $user) use (&$counter) {
echo "Id: {$user->getId()}\n";
$counter ++;
return ($counter % 5 != 0);
};
while ($pageIterator->hasNext()) {
// iteration pauses and resumes after every 5 users
$pageIterator->iterate($callback);
echo "\nPaused iteration...Total users: {$counter}\n\n";
}