OneDrive REST API和Sharepoint Online

OneDrive REST API和Sharepoint Online,sharepoint,onedrive,Sharepoint,Onedrive,我的应用程序使用OneDrive API(MS graph)访问OneDrive免费帐户和OneDrive for business 该应用程序运行良好。 在API的文档中,我可以看到同样的API也可以用于访问Sharepoint在线站点数据 如何做到这一点?当我使用MS graph对拥有Sharepoint Online帐户的用户进行身份验证时,只有他的驱动器(ondrive),但没有列出他的站点 如何使用相同的API访问他的sharepoint站点?我相信您正在寻找的是站点API。如果您知道

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

该应用程序运行良好。 在API的文档中,我可以看到同样的API也可以用于访问Sharepoint在线站点数据

如何做到这一点?当我使用MS graph对拥有Sharepoint Online帐户的用户进行身份验证时,只有他的驱动器(ondrive),但没有列出他的站点


如何使用相同的API访问他的sharepoint站点?

我相信您正在寻找的是站点API。如果您知道SharePoint网站的路径或id,则可以使用它与该网站进行交互。您可以在此处找到api的文档:

到目前为止,没有简单的方法可以发现网站。但是,您可以搜索网站。您可以在此处阅读更多信息:


我发现了如何使用Graph API处理站点

要获取站点列表,需要调用

GET /v1.0/sites/
然后使用SITEID获取驱动器列表(实际上是顶级文件夹)

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

GET /v1.0/sites/SITEID/drives/DRIVEID/root/children
接下来的所有调用都与onedrive相同


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

此端点没有API调用,无法获取站点列表,因此最后一个答案不再有效。

我还没有找到一种方法来做到这一点,发现网站,没有管理员的同意。如果管理员同意流不是问题,您可以尝试此解决方法,使用组的端点请求用户所属的组,并且您可以使用组获取用户的文档库

要获取组,请执行以下操作:

得到

使用组id,可以使用此端点:

获取{group id}/驱动器

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

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

  • 我发出通知,这里的一个答案不再有效

  • 我给了这个问题另一个可能的解决办法

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