【发布时间】:2021-08-24 21:35:25
【问题描述】:
我正在使用这个共享很多的代码尝试使用 Shareplum 将文件上传到 Sharepoint 到 Shared Documents 文件夹中。
import requests
from shareplum import Office365
# Set Login Info
username = 'my.email@address.com'
password = 'myverifiedapppassword'
site_name = 'mysite'
base_path = 'https://xxxxxxxx.sharepoint.com'
doc_library = 'Shared%20Documents'
file_name = "hellotest.txt" #when your file in the same directory
# Obtain auth cookie
authcookie = Office365(base_path, username=username, password=password).GetCookies()
session = requests.Session()
session.cookies = authcookie
session.headers.update({'user-agent': 'python_bite/v1'})
session.headers.update({'accept': 'application/json;odata=verbose'})
session.headers.update({'X-RequestDigest': 'FormDigestValue'})
response = session.post(url=base_path + "/sites/" + site_name + "/_api/web/GetFolderByServerRelativeUrl('" + doc_library + "')/Files/add(url='a.txt',overwrite=true)",
data="")
session.headers.update({'X-RequestDigest': response.headers['X-RequestDigest']})
# Upload file
with open(file_name, 'rb') as file_input:
try:
response = session.post(
url=base_path + "/sites/" + site_name + f"/_api/web/GetFolderByServerRelativeUrl('" + doc_library + "')/Files/add(url='"
+ file_name + "',overwrite=true)",
data=file_input)
print("response: ", response.status_code) #it returns 200
if response.status_code == '200':
print("File uploaded successfully")
except Exception as err:
print("Something went wrong: " + str(err))
print('File Uploaded Successfully')
运行代码时出现问题....我总是得到一个回溯和一个关键错误,如下所示:
Traceback(最近一次调用最后一次): 文件“S:\upload.py”,第 22 行,在 session.headers.update({'X-RequestDigest': response.headers['X-RequestDigest']}) getitem 中的文件“C:\Python39\lib\site-packages\requests\structures.py”,第 54 行 返回 self._store[key.lower()][1] KeyError: 'x-requestdigest'
在第 22 行中,与 x-requestdigest 相关的事情无法正常工作,但我无法弄清楚是什么。 任何提示将不胜感激!!!
谢谢
【问题讨论】:
标签: python sharepoint upload shareplum