无法使用 Python 连接到在线 Sharepoint

Can't connect to Online Sharepoint using Python

我正在尝试显示所有共享点的列表名称,但出现此错误:

找不到记录器“office365.runtime.auth.saml_token_provider.SamlTokenProvider._process_service_token_response”的处理程序“=21=]

这是我的代码:

from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext
url = 'https://abc.sharepoint.com/sites/siteName/'

ctx_auth = AuthenticationContext(url)
if ctx_auth.acquire_token_for_user(username='username@abc.com'
                                  ,password ='password'):
    ctx = ClientContext(url, ctx_auth)
    lists = ctx.web.lists
    ctx.load(lists)
    ctx.execute_query()
    for l in lists:
       print(l.properties["Title"])

谢谢

我在这里用 python 2.7 测试了下面的代码,它运行良好。

from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext

tenant_url= "https://company.sharepoint.com"
site_url="https://company.sharepoint.com/sites/sname"    

ctx_auth = AuthenticationContext(tenant_url)    

if ctx_auth.acquire_token_for_user("abc@company.onmicrosoft.com","mypassword"):
   ctx = ClientContext(site_url, ctx_auth)
   lists = ctx.web.lists
   ctx.load(lists)
   ctx.execute_query()

   for l in lists:
       print(l.properties["Title"])

else:
   print(ctx_auth.get_last_error())

结果:

如果这与ADFS有关,请参考这个封闭的问题:

BR

好吧,我找到了获取特定共享点列表数据的解决方案

from shareplum import Site
from shareplum import Office365
import json
import csv
import pandas

authcookie = Office365('https://abc.sharepoint.com/', username='username', password='password').GetCookies()
site = Site('https://abc.sharepoint.com/sites/SitesName/', authcookie=authcookie)
sp_list = site.List('ListName')
#print(sp_list)
data = sp_list.GetListItems(fields=['FieldName1','FieldName2'])
c = pandas.read_json(json.dumps(data)).to_csv("output.csv")