我正在try 获得超过100个用户(默认限制).不幸的是,文档非常简单(我在SDK的源代码中搜索了很多东西) 但是我不知道如何传递nextLink参数skipToken.在SDK的v1中,我想我只是在Get中扩展了url,但我想使用SDK的v2.我在Delta-Query中看到了nextLink(但这是另一回事).

我试了试,但不起作用.

$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();

我也试过,我知道没有skiptoken参数

$request = new UsersRequestBuilderGetRequestConfiguration();
$request->queryParameters = UsersRequestBuilderGetRequestConfiguration::createQueryParameters();
$request->queryParameters->skiptoken = $nextLink;
$response = $o365->users()->get($request)->wait();

谢谢.

推荐答案

在v2 SDK中,应该有PageIterator个用于在集合中进行分页

$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";
}

Paging through a collection

Php相关问答推荐

谷歌云SQL / mysql谁是对的?

获得客户S在WooCommerce为期1年的总支出

Msgraph-sdk-php v2如何从返回对象中获取数据?

在Google云存储对象上从PHP设置缓存控制TTL会更改错误的元数据

如何在函数中定位WooCommerce产品循环

PHP从响应应用程序json获取文件代码和URL

是否重新排序多维数组元素以将所有子数组中的子数组移动到元素列表的底部?

上传WordPress模板中的翻译文件(.mo和.po)

如何用Ubuntu 22.04在VSCode中启用XDebug

WordPress:今天的计数';修改和发布的帖子

用ajax获取文件 - CORS问题&;设置缓存?

Laravel 10 中的自定义类未找到

将图像作为 PHP post 响应发送到浏览器

在 php 中生成 MAC ISO/IEC 9797-1

Woocommerce的数量和价格条件

.htaccess环境变量条件不被判断

如何获取用户之间的最新消息列表

Shopware 6:无法在新的自定义插件中保存关联字段(媒体)

为什么在 phpunit 的开头测试 PHP_VERSION?

Laravel 自定义中间件:ERR_TOO_MANY_REDIRECTS