首页 文章

多租户应用程序 - OneDrive Business API

提问于
浏览
0

我需要创建一个允许用户将自己的文件保存在自己的OneDrive Business帐户中的 universal app windows 10 .

我读到我需要在Azure Active Directory(开发人员帐户)中注册应用程序,然后请求OneDrive for Business的权限 .

但:

Question1 :如果在Azure AD中将应用程序设置为"multi-tenant",则每个用户都会将其文件存储在自己的企业帐户onedrive中?

用户登录:xxxx@contoso.onmicrosoft.com ---> onedrive企业帐户contoso.onmicrosoft.com

用户登录:xxx@otherbusiness.onmicrosoft.com - > onedrive企业帐户:otherbusiness.onmicrosoft.com

等等

Question 2: 然后,当我们调用api url和app是多租户时,租户可以放在这里:

https:// -my.sharepoint.com/_api/v2.0

2 回答

  • 1

    Question 1

    如果您将应用声明为多租户,则您的组织(例如contoso.onmicrosoft.com)将成为该应用的所有者 . 然后,其他组织租户(例如awesomebusiness1.onmicrosoft.com,awesomebusiness2.onmicrosoft.com等)将能够使用您的应用进行身份验证 . 身份验证将起作用,在AzureAD中,您将看到awesomebusiness1和awesomebusiness2的用户,这些用户是您应用的用户 . 然后,如果John Doe通过您的多租户应用程序进行身份验证,则已连接用户的onedrive业务帐户将为johndoe@awesomebusiness1.onmicrosoft.com .

    Question2

    大多数Office365 Api和Graph api都不包含租户的名称 . 例如,请参阅this documentation . 实际上,这简化了REST请求的创建 . 但是,在您的情况下,如果您需要目标sharepoint站点的URL,那么您将有责任动态创建它 . 当用户连接您检索其租户的名称(例如awesomebusiness2)并创建网址(例如https://awesomebusiness2-my.sharepoint.com/_api/v2.0

  • 1

    Question 2

    您可以从Discovery Service获取租户URL,请查看OneDrive for Business authentication and sign in文章中的步骤3 . Discovery Service将返回带有serviceEndpointUri的MyFiles节点,这正是您所需要的

    https://{tenant}-my.sharepoint.com/_api/v2.0

相关问题