如何使用Azure DevOps用户列表API的Continuation Token获取全部用户数据
你调用的接口参数格式存在错误,maxPageSize与api-version参数之间应该使用&拼接而非?,修正后的基础请求格式为:https://vssps.dev.azure.com/MyOrganization/_apis/graph/users?maxPageSize=500&api-version=6.0-preview.1
Continuation Token 使用步骤
- 第一步:发起首次请求获取第一页数据和续传令牌
正常发送GET请求到上述修正后的接口,请求成功后,从响应头中提取X-MS-ContinuationToken字段的取值,该值就是下一页请求需要用到的续传令牌。如果本次请求的响应头中没有该字段,说明当前已经是最后一页,没有更多用户数据。 - 第二步:携带续传令牌请求下一页数据
发起新的GET请求时,在请求参数中新增continuationToken参数,参数值为上一步提取到的令牌内容,示例请求格式:https://vssps.dev.azure.com/MyOrganization/_apis/graph/users?maxPageSize=500&continuationToken=上一步获取的令牌值&api-version=6.0-preview.1 - 第三步:循环执行直到拉取完全部数据
重复前两步操作,每次请求后都检查响应头中是否存在X-MS-ContinuationToken,直到该字段消失,即完成全部用户数据的拉取。
注意事项
- 接口的
maxPageSize参数最大有效值为500,即便传入更大的数值,单次请求最多也只会返回500条用户数据。 - 每次获取的续传令牌仅对紧接的下一次请求有效,不要重复使用历史令牌发起请求。
内容的提问来源于stack exchange,提问作者Wim Kok
相关产品推荐
相关产品推荐

