Как выполнить передачу файла между Linux коробкой к windows точке доступа - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь автоматизировать обмен файлами между Linux box и windows share point. Я ссылаюсь на приведенный ниже код для реализации. Может кто-нибудь, пожалуйста, помогите мне узнать, что все модификации, которые мне нужно добавить на него.

config = dict()
config['sp_user'] = 'some_user@example.com'
config['sp_password'] = 'Passw0rd'
config['sp_base_path'] = 'https://example.sharepoint.com'
config['sp_site_name'] = 'my_site_name'
config['sp_doc_library'] = 'PythonUploader'
import requests
from shareplum import Office365
from config import config

# 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 = "cat_pic.jpg"

# 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'})

# dirty workaround.... I'm getting the X-RequestDigest from the first failed call
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))

Могу ли я знать, что все модификации или любые другие предложения для реализации приветствуются.

...