I am trying to upload files to a SharePoint folder structure which has been already created, I have used two files for this Config_template:
config = dict()
config['sp_user'] = '[email protected]'
config['sp_password'] = 'pass@123'
config['sp_base_path'] = 'https://xyz.sharepoint.com'
config['sp_site_name'] = '/sites/bootromandhsesecurity/Shared%20Documents/Forms/AllItems.aspx?originalPath=0d66ed181f1&id=%2Fsites%2Fbootromandhsesecurity%2FShared%20Documents%2F%2FSprint3'
config['sp_doc_library'] = 'Sprint3'
The next file is sharepoint_upload:
import requests
from shareplum import Office365
from .config_template import config
def up():
# get data from configuration
username = config['sp_user']
password = config['sp_password']
site_name = config['sp_site_name']
base_path = config['sp_base_path']
doc_library = config['sp_doc_library']
file_name = "TestCaseDatabase\\Sprint3_Test_Report.xlsx"
# 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']})
# perform the actual upload
with open( file_name, 'rb') as file_input:
try:
response = session.post(
url=base_path + "/sites/" + site_name + "/_api/web/GetFolderByServerRelativeUrl('" + doc_library + "')/Files/add(url='"
+ file_name + "',overwrite=true)",
data=file_input)
except Exception as err:
print("Some error occurred: " + str(err))
The username and password have been changed here for security reasons, but when the correct details have been given,
Error authenticating against Office 365. Error from Office 365:', 'AADSTS50126: Error validating credentials due to invalid username or password
The above error occurs. Where am I going wrong?
P.S - I have been using Microsoft authenticator for logging into the SharePoint folder, where I need to approve my login on my mobile, is that causing the problem?