如何使用Python访问SharePoint中文档库中的文件和文件夹

2024-04-25 21:15:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python访问SharePoint中文档库中的文件和文件夹。 我已经使用pip安装了Office365 REST Python客户端包。 我的代码如下:

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\u object\u items)返回0。输出如下:

Authenticated into sharepoint app for:  spsite_1
len(list_object_items): 0

请让我知道我错在哪里,我需要调查哪里