是否可以仅使用 REST API 为一个站点获取仅限 SharePoint 应用程序的主体?
Is it possible to get SharePoint app-only principal for one site only using REST API?
有很多教程如何为管理员手动添加特定应用程序的主体,如下所示:
https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs
而且可以正常工作。但是有没有办法通过 API 调用而不是手动设置来授予此委托人?它仍然会被请求使用管理员不记名令牌,因此它应该具有设置它的所有权限,但我找不到任何方法来做到这一点。
有一种方法,如果我在我的租户中注册了另一个具有 FullControl 权限的应用程序,它可以使用 API 为其他应用程序提供主体,如下所示:https://docs.microsoft.com/en-us/graph/api/site-post-permissions?view=graph-rest-1.0&tabs=http
但我不能拥有另一个应用程序并且不想要它,我只想使用管理员凭据添加一个应用程序主体以通过一些 API 调用写入一个特定的 SharePoint 页面,这样我就可以稍后使用我的应用程序控制站点中的文件。有办法吗?
简而言之,答案是否。
当我们使用管理员帐户登录 appregnew.aspx
页面时,实际上我们正在使用 Microsoft 创建的应用程序/委托人来获取可用于创建 SharePoint 应用程序的访问令牌-只有本金。
这个官方场景和你说的是一致的,需要先创建一个应用,然后再用它来配置另一个应用。
因此,这是意料之中的。恐怕我们无法绕过第一个应用程序创建来配置其他应用程序。
有很多教程如何为管理员手动添加特定应用程序的主体,如下所示: https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs
而且可以正常工作。但是有没有办法通过 API 调用而不是手动设置来授予此委托人?它仍然会被请求使用管理员不记名令牌,因此它应该具有设置它的所有权限,但我找不到任何方法来做到这一点。
有一种方法,如果我在我的租户中注册了另一个具有 FullControl 权限的应用程序,它可以使用 API 为其他应用程序提供主体,如下所示:https://docs.microsoft.com/en-us/graph/api/site-post-permissions?view=graph-rest-1.0&tabs=http
但我不能拥有另一个应用程序并且不想要它,我只想使用管理员凭据添加一个应用程序主体以通过一些 API 调用写入一个特定的 SharePoint 页面,这样我就可以稍后使用我的应用程序控制站点中的文件。有办法吗?
简而言之,答案是否。
当我们使用管理员帐户登录 appregnew.aspx
页面时,实际上我们正在使用 Microsoft 创建的应用程序/委托人来获取可用于创建 SharePoint 应用程序的访问令牌-只有本金。
这个官方场景和你说的是一致的,需要先创建一个应用,然后再用它来配置另一个应用。
因此,这是意料之中的。恐怕我们无法绕过第一个应用程序创建来配置其他应用程序。