Microsoft Graph API访问租户以外的用户的基本信息

qni*_*lab 2 oauth ms-office multi-tenant exchangewebservices azure-active-directory

我正在开发一个管理邮件,联系人和用户日历的多租户Web应用程序.

在AzureAd管理门户网站上,我将我的应用程序注册为多租户,并设法为我的租户内外的人员获取OAuth令牌,在查询身份验证代码和令牌端点时将"tennantId"替换为"common".

现在,我想访问已登录并同意为我的应用授予权限的人的日历,邮件和联系信息.

我开始简单,通过查询租赁内部用户的基本用户信息,如下所示:

获取https://graph.windows.net/-tennantId-/me?api-version=2013-11-08 或GET https://graph.windows.net/-tennantId-/users/myAdress@company.com? api-version = 2013-11-08 {headers:{授权:"Bearer -accessToken-"}}

有用!

现在,我如何才能访问我租赁之外的用户信息?我试过了

获取https://graph.windows.net/-tennantId-/me?api-version=2013-11-08

获取https://graph.windows.net/-tennantId-/users/address@outside.com?api-version=2013-11-08

获取https://graph.windows.net/common/me?api-version=2013-11-08

获取https://graph.windows.net/common/users/address@outside.com?api-version=2013-11-08,

我总是最终得到400错误:{"odata.error":{"code":"Request_BadRequest","message":{"lang":"en","value":"请求中的域名无效网址."}}}

知道我做错了什么吗?

qni*_*lab 7

啊啊!

如果您使用OAuth开发多租户应用,请在与Graph API交谈时忘记使用您的租户ID!

在您的租赁期间或之外为用户请求令牌时,相当于"通用"是......"myorganization"!

这将有效:

https://graph.windows.net/myorganisation/me?api-version=2013-11-08

哦,它显然写在文档中,但是......但是...... MICROSOOOOOFT !!!