首页 文章

OneDrive REST API和Sharepoint Online

提问于
浏览
0

我有一个使用OneDrive API(MS图表)访问OneDrive免费帐户和OneDrive业务的应用程序 .

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

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

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

3 回答

  • 0

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

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

    到目前为止,没有简单的方法来发现网站 . 但是,您可以搜索网站 . 你可以在这里读更多关于它的内容:

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

  • 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调用

  • 0

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

    我没有找到办法,在没有管理员同意的情况下发现网站 . 如果管理员同意流不是问题,您可以尝试此解决方法,使用组的 endpoints 来询问用户所属的组,并且您可以使用这些组来获取用户的文档库 .

    要获得组:

    GET https://graph.microsoft.com/v1.0/me/memberOf

    使用组ID,您可以使用此 endpoints :

    GET https://graph.microsoft.com/v1.0/groups/ / drive

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

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

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

    • 我给出了问题的另一种解决方案 .

相关问题