python - 如何使用 Python 在 SharePoint 的文档库中访问文件和文件夹
问题描述
我正在使用 Python 访问 SharePoint 文档库中的文件和文件夹。我已经使用 pip 安装了 Office365-REST-Python-Client 包。我的代码如下:
from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext
from office365.sharepoint.files.file import File
import sys
url_shrpt = 'https://<mysharepoint>/sites/spsite_1/'
folder_url_shrpt = '/sites/spsite_1/dl_1'
app_principal = {
'client_id': '<my client id>',
'client_secret': '<my client secret>',
}
ctx_auth = AuthenticationContext(url_shrpt)
if ctx_auth.acquire_token_for_app(client_id=app_principal['client_id'], client_secret=app_principal['client_secret']):
ctx = ClientContext(url_shrpt, ctx_auth)
web = ctx.web
ctx.load(web)
ctx.execute_query()
print('Authenticated into sharepoint app for: ',web.properties['Title'])
list_object = ctx.web.lists.get_by_title('dl_1')
list_object_items = list_object.items
ctx.load(list_object_items)
ctx.execute_query()
print(f'len(list_object_items): {len(list_object_items)}')
else:
print(ctx_auth.get_last_error())
sys.exit()
虽然我在文档库中有文件夹和文件,但 len(list_object_items) 返回 0。输出如下:
Authenticated into sharepoint app for: spsite_1
len(list_object_items): 0
请让我知道我错在哪里以及我需要调查的地方。
解决方案
推荐阅读
- tizen - Edje:如何定义“固定”尺寸组?
- android - 无法通过 Android 模拟器物理键盘更改语言
- python - 在 Windows 上使用 ffmpeg 滚动屏幕截图
- asynchronous - 如何在回调中使用 Rust 期货?
- tensorflow - 如何有效地使用由ordereddict组成的tf.data.Dataset?
- tailwind-css - 如何实现 rgba(0, 0, 0, 0.54) 顺风 css 的文本颜色?
- xamarin.forms - Xamarin.Forms - 为 MasterDetailPage 应用设置一致的背景
- javascript - 如何将序列中的所有元素相乘,但在每次迭代中省略当前元素(javascript)?
- c++ - 创建交换链导致窗口句柄变为无效
- macos - 如何使用 AppleScript 检查菜单项是否已选中