Office365 通过统一API访问SharePoint在线网站

Office365 通过统一API访问SharePoint在线网站,office365,sharepoint-online,office365api,microsoft-graph-api,Office365,Sharepoint Online,Office365api,Microsoft Graph Api,新的统一Microsoft API应该涵盖所有Office365产品。但是,我找不到任何关于如何访问SharePoint在线网站和列表的文档。有人能澄清一下怎么做吗 如果不可能,我还可以使用旧的API吗?我该怎么做?在Azure AD上注册SharePoint Online应用程序的选项已不再存在 UPD:我正在编写一个python应用程序,它需要从用户的SharePoint在线站点获取一些数据。我需要在Azure AD中注册我的应用程序以实现身份验证。您仍然可以使用SharePoint 201

新的统一Microsoft API应该涵盖所有Office365产品。但是,我找不到任何关于如何访问SharePoint在线网站和列表的文档。有人能澄清一下怎么做吗

如果不可能,我还可以使用旧的API吗?我该怎么做?在Azure AD上注册SharePoint Online应用程序的选项已不再存在


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

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

只需为正确的资源ID获取AccessToken。如果使用DiscoveryClient,则它将是rootsitecapability.ServiceResourceId


希望对您有所帮助。

Microsoft Graph尚未提供SharePoint网站和列表。我们正在努力在不久的将来增加对他们的支持。 同时,您可以直接调用SharePoint端点,为此,您可以创建一个Office 365试用帐户,并将其与Azure订阅关联在此链接中的以下信息:

此外,关于SharePoint API的信息也在这里:

我意识到这是一个老问题,但只是为了以防万一,这对某人有所帮助。Microsoft Graph API现在完全支持这一点:

您需要在v1.0(Azure AD Administration portal>Enterprise Apps)或v2.0(Apps.dev.microsoft.com)Azure AD端点上注册应用程序,并获得一些SharePoint权限和同意。一旦完成,您需要一个经过身份验证的承载令牌,并且您可以使用 获取以检索根站点,但如果要获取特定站点,可以使用 获取{site id}

目前没有简单列出任何和所有站点的本机方法(同样,根据用户权限,这可能会因用户而异),但有一个小技巧可以解决这个问题:使用搜索方法: *

这将有效地列出所有站点-属于O365组的站点除外

希望这有帮助


非常感谢。请你详细解释一下你的答案好吗?我不太理解获取正确资源ID的部分。我正在开发一个提供商托管的应用程序,它是Azure上的一个ASP.NET应用程序,可以与不同的API进行通信。在我的例子中,ResourceId是唯一的,因此我可以获取此ressource的令牌并创建ClientContext对象以与SP通信。我不使用Visual Studio,但您的链接很有用。非常感谢你的回答。我正在尝试在Azure Active Directory中创建一个应用程序,因此,例如,当我想要使用Graph API时,我正在添加Microsoft Graph,一切正常。但我想为SharePoint online创建一个应用程序,但我没有看到以前称为Office 365 SharePoint的应用程序。在这种情况下,如何创建应用程序?您是否拥有SharePoint许可证?您将只看到有许可证的服务列表。我以前从未为Microsoft产品开发过,在文档中找不到这些内容的描述。你能给我指一个资源吗?这里有详细的解释?获取许可证、注册应用程序、身份验证等。我能找到的任何东西要么无关,要么不起作用。我如何获得此许可证??没有身份验证,我无法启动该项目@Yina您是我唯一的希望您可以创建一个Office 365试用帐户,并将其与您的Azure订阅关联在此链接中提供以下信息:谢谢您的建议!但如何呢?搜索=*哪怕是一个小把戏?这正是我所需要的(在glob中添加了一个partial关键字),而且似乎是合法的使用。