如何从Azure DevOps Profile REST API获取或识别唯一ID及descriptor
获取Azure DevOps用户全局唯一Descriptor的方案
方案1:检查Profile API的权限与响应
你当前调用的Profile API端点https://app.vssps.visualstudio.com/_apis/profile/profiles/me?api-version=7.0其实可以返回descriptor字段,问题大概率出在OAuth令牌的权限上。确保你的授权流程中申请了vso.profile权限范围,拿到包含该权限的令牌后重新调用,响应的profile对象内就会出现跨组织/账号全局唯一的descriptor。
方案2:改用Graph API的me端点
如果Profile API仍无法返回目标字段,直接调用Azure DevOps Graph API的用户端点是更可靠的方式:
- 请求地址:
https://vssps.dev.azure.com/_apis/graph/me?api-version=7.0 - 该端点返回的响应中会直接携带
descriptor,它是Azure DevOps平台内全局唯一的用户标识,完全满足你区分新老用户、决定账号创建或登录逻辑的需求。
注意事项
- 调用Graph API需要OAuth令牌包含
vso.graph权限范围,记得在授权流程中添加该权限。 - 这个
descriptor不会因用户所属组织或账号不同而重复,可直接存入数据库作为用户的唯一识别标识。
内容的提问来源于stack exchange,提问作者Always Member
相关产品推荐
相关产品推荐

