通过统一API访问SharePoint Online网站

时间:2015-12-07 11:44:50

标签: office365 sharepoint-online office365api microsoft-graph

新的统一Microsoft API应涵盖所有Office365产品。但是,我找不到有关如何访问SharePoint联机站点和列表的任何文档。有人可以澄清怎么做吗?

如果不可能,我还可以使用旧的API吗?我该怎么做?在Azure AD上注册SharePoint Online应用程序没有其他选择。

UPD:我正在编写一个python应用程序,需要从用户的SharePoint在线站点获取一些数据。我需要在Azure AD中注册我的应用程序以实现身份验证。

3 个答案:

答案 0 :(得分:0)

您仍然可以使用SharePoint 2013 REST API或使用ClientContext。

获取正确的RessourceId的AccessToken。如果您使用DiscoveryClient,那将是rootsitecapability.ServiceResourceId。

希望有所帮助。

答案 1 :(得分:0)

SharePoint网站和列表尚未通过Microsoft Graph提供。我们正在努力在不久的将来增加对它们的支持。 与此同时,您可以直接调用SharePoint端点,为此,您可以创建Office 365试用帐户并将其与Azure订阅关联,并按照以下链接中的信息进行操作:https://graph.microsoft.io/docs/authorization/associate_account
此外,有关SharePoint API的信息位于:https://msdn.microsoft.com/en-us/library/office/jj860569.aspx

答案 2 :(得分:0)

我意识到这是一个老问题,但万一它可以帮助某人。现在,Microsoft Graph API完全支持此功能:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/sharepoint

您需要在v1.0(Azure AD管理门户> Enterprise Apps)或v2.0(apps.dev.microsoft.com)Azure AD端点和某些SharePoint权限&同意。完成后,您需要一个持有人令牌,一旦经过身份验证,您就可以使用 获取https://graph.microsoft.com/v1.0/sites/root以检索根网站,但如果您想要访问特定网站,则可以使用 获取https://graph.microsoft.com/v1.0/sites/ {site-id}

目前没有本地方式可以简单地列出任何和所有网站(同样,根据用户权限,这可能会因用户而异)但是有一个小技巧可以解决这个问题:使用搜索方法: https://graph.microsoft.com/v1.0/sites?search= *

这将有效列出所有网站 - 除了属于O365群组的网站。

希望这有帮助