Microsoft graph api 控制应用程序';s对SharePoint网站的API访问

Microsoft graph api 控制应用程序';s对SharePoint网站的API访问,microsoft-graph-api,sharepoint-online,Microsoft Graph Api,Sharepoint Online,我有一个计划每天运行一次的外部程序(即没有用户交互)。此程序应使用Microsoft Graph API将文件上载到SharePoint在线网站。我可以在Azure Active Directory中启用此功能,方法是注册一个应用程序,并授予此应用程序应用程序权限File.ReadWrite.All,然后向发送PUT请求 https://graph.microsoft.com/v1.0/drives/{drive id}/items/{parent id}:/{filename}:/conten

我有一个计划每天运行一次的外部程序(即没有用户交互)。此程序应使用Microsoft Graph API将文件上载到SharePoint在线网站。我可以在Azure Active Directory中启用此功能,方法是注册一个应用程序,并授予此应用程序应用程序权限
File.ReadWrite.All
,然后向发送PUT请求
https://graph.microsoft.com/v1.0/drives/{drive id}/items/{parent id}:/{filename}:/content

但是,通过授予
File.ReadWrite.All
,程序将可以访问我所在组织的所有网站集中的所有文件。我想限制对特定站点的访问,或者可能只是该站点中的特定文件夹。如何做到这一点?(无需用户在程序运行时以交互方式登录)

编辑(2021-03-04):现在可以:


目前无法通过Microsoft Graph限制仅应用程序对特定SharePoint网站的访问。

您是否已决定使用Graph?如果您只设置SharePoint应用程序上下文,您将有更多选项,如果您使用服务帐户凭据(密码不过期且没有O365许可证的AAD帐户),您将有更多选项。@DerekGusoff您有解释这些选项的链接吗?仍然是这样吗?如果azure应用程序具有应用程序权限Sites.Read.All,那么它似乎可以读取所有内容,希望我们能够以某种方式将其限制在某些站点,并控制使用appinv.aspx权限XML上下文的站点,但它似乎不是这样工作的。如果azure应用程序具有此应用程序权限,它似乎可以查看所有站点!据我所知,是的,这是直到案件。@Becker这不再是案件: