OneDrive REST API和Sharepoint Online

时间:2017-06-27 10:21:50

标签: sharepoint onedrive

我的应用程序使用OneDrive API(MS图表)访问OneDrive免费帐户和OneDrive for business。

该应用程序正常。 在API的文档中,我可以看到同样的API也可用于访问Sharepoint Online站点数据。

怎么做?当我授权拥有带有MS图表的Sharepoint Online帐户的用户时,只有他的驱动器(ondrive)但没有列出他的网站。

如何使用相同的API访问其sharepoint网站?

3 个答案:

答案 0 :(得分:0)

我相信你要找的是网站API。如果您知道站点的路径或ID,它允许您与SharePoint站点进行交互。你可以在这里找到api的文档:

https://dev.onedrive.com/resources/site.htm

截至目前,没有简单的方法可以发现网站。但是,您可以搜索网站。你可以在这里阅读更多相关信息:

https://dev.onedrive.com/sites/search.htm

答案 1 :(得分:0)

我已经找到了如何使用Graph API处理网站。

要获取网站列表,请致电

GET /v1.0/sites/

然后使用SITEID获取驱动器列表(实际上是顶级文件夹)

GET /v1.0/sites/SITEID/drives

然后获取驱动器用户的内容

GET /v1.0/sites/SITEID/drives/DRIVEID/root/children

所有下一个电话都与onedrive驱动器相同

然而,有问题我仍然无法解决。如何创建新的顶级文件夹(站点上的新驱动器)。此

没有API调用

答案 2 :(得分:0)

此获取站点列表的端点不起作用,因此最后一个答案不再有效。 https://graph.microsoft.com/v1.0/sites

未经管理员同意,我还没有找到一种方法来发现网站。如果管理员同意流程不成问题,则可以尝试此变通办法,请使用组的终结点来询问用户所属的组,然后可以使用这些组获取用户的文档库。

要获取组:

获取https://graph.microsoft.com/v1.0/me/memberOf

使用组ID,您可以使用此端点:

获取https://graph.microsoft.com/v1.0/groups/ {group-id} /驱动器

因此,如果有人在未经管理员同意的情况下知道如何为用户发现网站,请分享。

编辑:我不确定为什么我的答案被删除,我的答案基本上有两件事:

  • 我注意到这里的一个答案不再有效。

  • 我为这个问题提供了其他解决方案。