【发布时间】:2023-02-14 21:19:37
【问题描述】:
我是 SharePoint 新手。我编写了一个简单的 python 脚本,基本上连接到 SharePoint 并将文件(aspx 和其他前端文件)从我本地计算机上的文件夹上传到 SharePoint 站点上的特定文件夹。
为了便于脚本与 SharePoint 通信,我使用 SharePoint 纯应用程序模型在 SharePoint 下创建了一个应用程序主体。我通过调用 appregnew.aspx 来完成此操作,示例:https://spo.test.com/sites/MYSITE/\_layouts/15/appregnew.aspx,下面是调用“appregnew.aspx”时的示例页面
然后,我通过“appinv.aspx”向 App 主体提供了以下权限,例如 - https://spo.test.com/sites/MYSITE/\_layouts/15/appinv.aspx
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl"/>
</AppPermissionRequests>
接下来,我使用Python脚本下的Client ID和Client Secret与SharePoint建立通信,并将文件上传到SharePoint上的特定文件夹(文件夹已经存在,不是程序创建的),文件上传路径示例: https://spo.test.com/sites/MYSITE/Shared%20Documents/TeamDocs2
注意:此脚本使用 Python 库“Office365-REST-Python-Client”与 SharePoint 通信
该脚本可以成功验证自身并将文件上传到 SharePoint 上的文件夹。但是当我手动转到 SharePoint 文件夹并单击 aspx 文件时,例如:index.aspx;该文件被下载而不是被渲染。
该文件没有问题,即它没有损坏,因为当我手动将相同的文件上传到相同的文件夹时,没有问题,文件被渲染。
关于 App principal 的权限,我已经在“sitecolletion/web”级别的范围内提供了“FullControl”。我还尝试将范围从“http://sharepoint/content/sitecollection/web”更改为“http://sharepoint/content/sitecollection”,但效果不佳
请有人帮我解决这个问题。提前致谢
【问题讨论】:
-
好的。在花费大量时间尝试解决此问题后,我只是简单地创建了一个新的 SharePoint 站点,然后使用 PowerShell 在 SharePoint 中启用了自定义脚本。
标签: python sharepoint sharepoint-online sharepoint-rest-api office365-rest-client