Par*_*ras 3 python sharepoint urllib2
我正在使用 python-sharepoint 从我的 sharepoint 帐户访问数据。但我总是得到一个urllib2.HTTPError: HTTP Error 403: Forbidden错误。我正在关注这个 github 链接。这是我的代码:
from sharepoint import SharePointSite, basic_auth_opener
server_url = 'https://myServerUrl.sharepoint.com/'
site_url = server_url + 'sites/test'
username = 'myUsername.onmicrosoft.com'
password = 'myPassword'
opener = basic_auth_opener(server_url, username, password)
site = SharePointSite(site_url, opener)
for sp_list in site.lists:
print (sp_list)
Run Code Online (Sandbox Code Playgroud)
我还尝试将 urllib2 开瓶器创建为:
from sharepoint import SharePointSite
from ntlm import HTTPNtlmAuthHandler
import urllib2
password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, server_url, username, password)
auth_handler = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(password_manager)
opener = urllib2.build_opener(auth_handler)
site = SharePointSite(site_url, opener)
for sp_list in site.lists:
print (sp_list)
Run Code Online (Sandbox Code Playgroud)
但它再次给出了同样的错误。任何解决方案将不胜感激。
无论是基本也不NTLM身份验证方法不是在SharePoint Online中,这使得支持蟒蛇SharePoint的不是这里的最佳选择。
相反,我建议尝试一下支持 Office 365/SharePoint Online 的Office365-REST-Python-Client。
这是获取站点中所有列表并打印其标题的类似示例
ctx_auth = AuthenticationContext(url='https://contoso.sharepoint.com')
if ctx_auth.acquire_token_for_user(username='jdoe@contoso.onmicrosoft.com'],
password='--password--'):
ctx = ClientContext(settings['url'], ctx_auth)
lists = ctx.web.lists
ctx.load(lists)
ctx.execute_query()
for l in lists:
print(l.properties["Title"])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5051 次 |
| 最近记录: |