【问题标题】:Access Office 365 Discover Service with "app-only" token使用“仅限应用”令牌访问 Office 365 发现服务
【发布时间】:2015-04-21 04:33:31
【问题描述】:

我正在尝试使用通过关注client credential grant flow 获得的“仅限应用”令牌查询 Office 365 发现服务 REST API,但它返回拒绝访问。有没有办法让这个工作?

{u'error': {u'message': u'Access denied. You do not have permission to perform this action or access this resource.', u'code': u'-2147024891, System.UnauthorizedAccessException'}} 

【问题讨论】:

    标签: office365


    【解决方案1】:

    Discovery 服务不支持仅应用程序令牌,因为 Discovery 的目标是为应用程序提供给定用户的端点。 也就是说这里提供的错误信息不是很有用,我们会跟进更新它。 谢谢你。

    【讨论】:

    • 如果服务(守护程序)应用程序也可以发现 Office 365 API 其余端点,那就太好了。另一种方法是代码中的硬编码 URL
    • 为什么发现 api 不支持 app-only 令牌?它是同一件事 - 告诉我我能做什么以及端点是什么。没有它,我们必须对 url 进行硬编码,而且我们并不总是知道域名是什么。
    • 发现服务仅支持以用户为中心的场景,以获取当前用户的端点。对于 deamon 或 appOnly 场景,我们将向 Office 365 统一 API 添加 appOnly 支持,您不需要发现服务,因为只有一个端点。
    • 要使用 OneDrive for Business,我需要发现特定于租户的根 URL,也称为 here。即使我使用仅限应用程序的令牌,我仍然需要发现 URL 才能发出请求,否则 URL 是未知的。我应该如何找到网址?
    • 我建议您使用 Microsoft Graph 来发现 URL:要发现 OneDrive 终结点(又名 SharePoint MySite):选项 1:graph.microsoft.com/beta/me/sharepoint/site?select=weburl,选项 2:graph.microsoft.com/v1.0/me?select=mySite。发现 SharePoint RootSite:graph.microsoft.com/beta/sharePoint/site?select=weburl
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2012-04-27
    • 2015-05-06
    相关资源
    最近更新 更多