Microsoft Graph People API:/me/people/{id}接口GET请求报错
解决思路与排查建议
首先明确你的问题:你可以通过/me/people接口获取与你关联的联系人列表,但使用/users/{id}接口查询列表中的用户ID时,返回内部服务器错误,具体错误信息如下:
{ "error": { "code": "ErrorInternalServerError", "message": "An internal server error occurred. The operation failed.", "innerError": { "request-id": "daecb2b5-946f-48e9-8b44-11a8e593e768", "date": "2018-05-09T01:58:34" } } }
结合你提到是按照官方文档执行调用的情况,给你几个实用的排查方向:
- 确认ID资源类型匹配:
/me/people返回的是person资源的ID,而/users/{id}接口仅支持查询租户内user资源的ID,二者并不完全兼容。如果列表里包含外部联系人(不在你的组织租户中),这类对象无法通过/users/{id}查询,建议改用/me/people/{person-id}接口获取对应联系人的详情,这才是匹配person资源的正确查询方式。 - 检查应用权限范围:
/me/people和/users/{id}所需的API权限可能不同。比如调用/users/{id}通常需要User.ReadBasic.All或User.Read.All权限,若你的应用仅申请了People.Read权限,可能会导致服务端处理时触发权限相关的内部异常。可以在应用权限配置页面检查并补充所需权限。 - 排查特定ID的异常:尝试单独测试列表中的几个不同ID,判断是否是某个特定ID触发了错误。如果只有个别ID报错,大概率是该用户对象存在数据异常,这种情况需要联系微软技术支持协助排查。
- 提交官方支持工单:由于错误属于
ErrorInternalServerError(服务端内部错误),带上错误信息中的request-id和date参数,到微软Graph官方支持渠道提交工单,官方团队可以通过请求ID定位具体的服务端问题。
内容的提问来源于stack exchange,提问作者Nilesh Shah
相关产品推荐
相关产品推荐

