【问题标题】:How do I use the new Office 365 API to access users' onedrive如何使用新的 Office 365 API 访问用户的 onedrive
【发布时间】:2014-05-20 20:48:16
【问题描述】:

使用选择“添加连接服务”时自动创建的示例代码,特别是“MyFilesApiSample”

我已经使用两个不同的管理员帐户进行了测试。显然,所有管理员帐户都不是平等的。

这是在尝试连接到 Office 365 共享点/onedrive 文件系统。

一个管理员帐户给出 AuthenticationFailedException “此操作只能由管理员执行”。该帐户是“管理员”,因为它可以访问其他用户的邮件/日历

不同的管理员(全局/完整管理员)帐户给出 System.Exception“无法获取发现信息。服务返回未经授权”。

可能的影响因素问题

如果在我创建连接服务时,我在复选框中选择了一堆权限 - 使用的管理员帐户是否需要实际拥有所有这些权限才能连接,或者只是当前正在使用的权限(文件在这种情况下访问)。

“完全管理员”是否没有提供所需的权限?

额外问题:如何指定要查看/编辑的用户文件?改个uri就行了?

【问题讨论】:

    标签: api authorization office365


    【解决方案1】:

    关于该错误,如果您登录 Azure 管理门户以获取到 Office 365 的关联 AzureAD 链接,您将能够查看您的应用程序是否已为该 AzureAD 注册。 MSDN http://msdn.microsoft.com/en-us/library/office/dn736059(v=office.15).aspx 上提供了有关如何访问它的信息 您很可能会发现您的应用未在 Azure 租户的 Azure AD 的“应用”部分中注册。首次启动应用程序时,您需要使用 Office 365 租户管理员帐户执行此操作,以便在 Azure 租户的 Azure AD 中注册为应用程序。一旦发生这种情况,您就可以与普通用户一起使用该应用程序。

    Office 365 API 的工作方式是 Web 应用程序或移动应用程序要求可以声明它需要对访问它的任何用户的 OneDrive for Business 文件夹的权限。用户必须授予同意...该同意存储在 Azure AD 中,用于每个用户的该应用程序身份。然后,该应用程序可以访问它为该用户 OneDrive for Business 请求的任何权限。 该应用程序还可以请求“站点”权限,如果您同意,如果您在 CSOM 或 REST Url 的上下文中指定站点的 URL,则允许您使用 CSOM 或 REST API 访问用户可以看到的任何 SharePoint 站点. 我们将在下周左右在 Cordova 应用程序、AngularJS/Azure Web 角色应用程序、Windows 8 应用程序和 ASP.NET MVC 应用程序中推出一些大样本。所以请关注http://blogs.office.com/devhttp://aka.ms/OfficeDevSamples

    【讨论】:

    • 谢谢,我试试这个。
    • 是否可以使用模拟来使用管理员帐户访问个人用户文件,还是必须使用最终用户凭据?
    • Office 365 API 模型的整个范例是,您根据应用程序请求访问的内容获得用户的同意。如果应用程序要求完全控制 SharePoint 站点,但用户只拥有对其有权访问的所有 SharePoint 站点的读取权限(不太可能)......该应用程序只会读取这些站点。如果用户对少数几个网站有贡献权限,应用仍然只能有贡献。
    • 嘿 Jeremy - 我们有一个使用 O365 REST API 的基于 Clojure/JVM 的客户端,并且我们已经使用 Azure 门户设置了我们的应用程序;我们可以完成整个 Oauth2 身份验证工作流程,我们会收到身份验证和访问令牌。但是我们无法使用发现 API 发现用户的 SharePoint URL。我们应该能够做到这一点——无需事先知道用户的 SharePoint URL,对吧?换句话说,一旦用户授予对我们应用程序的访问权限并且我们请求对 SharePoint 列表的读取权限,我们应该能够使用 [一些发现 API] 来查看 SharePoint URL,对吗?哪些?
    猜你喜欢
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多