我们正在使用client_credentials流来获取我们的应用程序对租户环境的访问权限。该应用程序具有正确的作用域,并且我们获得了可用于其他端点的访问令牌,例如/users
,但是在执行以下请求时,我们会收到错误消息。
GET https://graph.microsoft.com/beta/me/findRooms
{
"error": {
"code": "ErrorInvalidUser",
"message": "The requested user '{userId}@{tenantId}' is invalid.",
"innerError": {
"request-id": "b72d26a3-d0ad-42eb-a3d3-35951cb42b3d",
"date": "2020-01-21T10:21:28"
}
}
}
我了解当我们只是一个应用程序时没有“我”,但是在这种情况下,我们如何访问这些类型的端点?我还必须要有一个用户来扮演吗?在我看来,这似乎违背了这样的守护程序的目的。在此问题上找不到任何清晰的文档。在[[使用令牌部分上的文档的this page中,他们甚至引用了/ me端点,在这种情况下是不正确的。
我尝试用访问令牌中可以找到的所有不同种类的ID请求/users/{id}/findRooms
端点-它们都不起作用。遇到相同问题的其他人尚未解决。最好的问候,克里斯托弗
/users/{user-id}
是唯一适用于客户端凭据的模式。在您的情况下,这应该可以工作,因此,可能是您使用的id
出现了问题。为了确保我不会给您不好的信息,我只是使用客户端凭据流中的仅应用程序令牌对此进行了测试。在https://jwt.ms处解析该令牌,我看到roles
声明如下: