【问题标题】:Accessing SharePoint Online sites via the unified API通过统一 API 访问 SharePoint Online 网站
【发布时间】:2016-03-12 00:13:42
【问题描述】:

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

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

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

【问题讨论】:

    标签: office365 sharepoint-online office365api microsoft-graph-api


    【解决方案1】:

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

    您需要在 v1.0(Azure AD 管理门户 > 企业应用程序)或 v2.0 (apps.dev.microsoft.com) Azure AD 端点上注册应用程序并获得一些 SharePoint 权限和同意。完成后,您需要一个经过身份验证的不记名令牌,您可以使用 GET 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 组的站点除外。

    希望对你有帮助

    【讨论】:

    • 感谢伟大的建议!但是 ?search=* 是一个小技巧吗?这正是我所需要的(在全局中添加了部分关键字),并且似乎是合法的用途。
    【解决方案2】:

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

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

    希望对您有所帮助。

    【讨论】:

    • 非常感谢。你能更详细地解释你的答案吗?我不太了解获取正确 ResourceId 的部分。
    • 我正在开发一个提供商托管的应用程序,它是 Azure 上的一个 ASP.NET 应用程序,它与不同的 API 进行通信。 msdn.microsoft.com/en-us/library/office/fp142381.aspx 在我的情况下,ResourceId 是 yourtenant.sharepoint.com,所以我可以获得此资源的令牌并创建 ClientContext 对象以与 SP 通信。
    • 我不使用 Visual Studio,但您的链接很有帮助。谢谢
    【解决方案3】:

    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

    【讨论】:

    • 非常感谢您的回答。我正在尝试在 Azure Active Directory 中创建一个应用程序,例如,当我想使用 Graph API 时,我正在添加 Microsoft 图形,一切都很好。但我想在线创建一个适用于 SharePoint 的应用程序,但我没有看到以前称为 Office 365 SharePoint 的应用程序。在这种情况下如何创建应用程序?
    • 您有 SharePoint 的许可证吗?您只会看到有许可证的服务列表。
    • 我以前从未为微软产品开发过,而且我在文档中找不到这些东西的描述。您能否指出我详细解释所有这些的资源?获得许可证、注册应用程序、身份验证等。我能找到的任何东西要么无关紧要,要么不起作用。
    • 我如何获得这个许可证?未经身份验证,我无法开始该项目。 @Yina 你是我唯一的希望
    • 您可以创建一个 Office 365 试用帐户并将其与您的 Azure 订阅相关联,此链接中的信息如下:graph.microsoft.io/docs/authorization/associate_account
    猜你喜欢
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2020-05-25
    • 2015-12-25
    • 1970-01-01
    • 2018-10-16
    相关资源
    最近更新 更多