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":"请求中的域名无效网址."}}}
知道我做错了什么吗?
啊啊!
如果您使用OAuth开发多租户应用,请在与Graph API交谈时忘记使用您的租户ID!
在您的租赁期间或之外为用户请求令牌时,相当于"通用"是......"myorganization"!
这将有效:
https://graph.windows.net/myorganisation/me?api-version=2013-11-08
哦,它显然写在文档中,但是......但是...... MICROSOOOOOFT !!!