然后使用O365 REST API,我可以使用Discovery API通过Oauth2查找用户的0365 SharePoint服务器吗?

时间:2014-09-30 22:08:05

标签: rest sharepoint azure office365

我们已经看到this SO question已经使用O365 REST API,我们有一个有效的Oauth2工作流,可以对O365用户进行身份验证并返回访问令牌。我们的问题是:一旦我们为用户提供访问令牌,我们如何在不事先知道经过身份验证的用户的O365 SharePoint服务器URL的情况下发现用户的SharePoint服务器(和关联的端点)?

我们的应用程序使用Oauth2工作流代表用户从GitHub,DropBox,Google Docs和其他服务访问数据,通常一旦授予用户权限并且我们有访问令牌,就可以直接查询/检索通过访问令牌为用户提供的资源。

一旦我们有了访问令牌,我们就会调用O365 Discovery Services。如果我正确地读取the docs,我们应该使用访问令牌向O365 / Services端点请求返回ServiceInfo条目,如下所示:

https://contoso-my.sharepoint.com/personal/alexd_contoso_com

https://contoso-my.sharepoint.com

但是目前我们只返回O365文件和联系ServiceInfo条目,即使在我们创建应用程序的Azure门户中,我们指定了Office 365 SharePoint Online委托权限('读取列表')。

如果有不同的O365端点我们应该在我们拥有访问令牌以便发现用户的SharePoint服务器时,或者如果我们使用的是错误的Discovery服务,请提供一些指示 - 我们要解决基于Oauth2工作流的通用方式存在此问题,并且不希望提示用户输入O365 SharePoint Server URL等内容。

最后我提到我们以纯粹的REST方式访问这些信息,并且我们没有特定于Windows的依赖项(事实上我们正在JVM上构建东西)所以对我们来说一个可行的解决方案不能依赖于仅限Windows的API或平台。

0 个答案:

没有答案