我需要创建一个通用 Windows 10 应用,允许用户将文件保存在自己的 OneDrive Business 帐户中。
我了解到我需要向 Azure Active Directory(开发者帐户)注册该应用,然后请求 OneDrive for Business 的权限。
但是:
问题1:如果应用在Azure AD中设置为“ Multi-Tenancy ”,每个用户都会将文件存储在自己的企业帐户onedrive中吗?
登录用户:[email protected] ---> onedrive 企业帐户 contoso.onmicrosoft.com
登录用户:[email protected] --> onedrive 企业帐户:otherbusiness.onmicrosoft.com
等等
问题2:那么,当我们调用api url并且应用程序是 Multi-Tenancy 时,这里可以放什么租户:
https://{租户}-my.sharepoint.com/_api/v2.0
最佳答案
问题1
如果您将应用程序声明为 Multi-Tenancy ,则您的组织(例如 contoso.onmicrosoft.com)将是该应用程序的所有者。然后,其他组织租户(例如 Awesomebusiness1.onmicrosoft.com、awesomebusiness2.onmicrosoft.com 等)将能够使用您的应用程序进行身份验证。身份验证将起作用,并且在您的 AzureAD 中,您将看到 Awesomebusiness1 和 Awesomebusiness2 的用户,它们是您的应用程序的用户。 然后,连接用户的 OneDrive Business 帐户将为 [email protected]如果 John Doe 通过您的 Multi-Tenancy 应用程序进行身份验证。
问题2
大多数 Office365 Api 和 Graph api 不包含租户名称。例如参见this documentation 。事实上,这简化了 REST 请求的创建。但是,就您而言,如果您需要目标共享点站点的 url,则您有责任动态创建它。当用户连接时,您将检索其租户的名称(例如 Awesomebusiness2)并创建 url(例如 https://awesomebusiness2-my.sharepoint.com/_api/v2.0 )
关于azure - Multi-Tenancy 应用程序 - OneDrive Business API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34788472/