Загрузите файл Sharepoint Online, используя Python - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь автоматизировать некоторые рабочие процессы, используя Python для загрузки файла Excel с нашего сайта SharePoint. Некоторый фон - то, что я довольно плохо знаком с Python и в основном самоучка. Я прочитал много примеров здесь, используя sharepy, office365, запросы и т. Д. c. и никто, кажется, не работает. Ниже я попробовал (в основном скопировал из другого примера) ошибку ниже:

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

#Inputs
url_shrpt = "https://company.sharepoint.com/sites/teamsite"
username_shrpt = "user@company.com"
password_shrpt = "password"
folder_url_shrpt = "sites/teamsite/library"

#Authentication
ctx_auth = AuthenticationContext(url_shrpt)
if ctx_auth.acquire_token_for_user(username_shrpt, password_shrpt):
    ctx = ClientContext(url_shrpt, ctx_auth)
    web = ctx.web
    ctx.load(web)
    ctx.execute_query()
    print("Authenticated into sharepoint as: ",web.properties['Title'])

else:
    print(ctx_auth.get_last_error())

#Function for extracting the file names from a folder
global print_folder_contents
def print_folder_contents(ctx, folder_url):
    try:

        folder = ctx.web.get_folder_by_server_relative_url(folder_url)
        fold_names = []
        sub_folders = folder.files 
        ctx.load(sub_folders)
        ctx.execute_query()

        for s_folder in sub_folders:

            fold_names.append(s_folder.properties["Name"])

        return fold_names

    except Exception as e:
        print('Problem printing out library contents: ', e)
######################################################


# Call the function by giving your folder URL as input  
filelist_shrpt=print_folder_contents(ctx,folder_url_shrpt) 

#Print the list of files present in the folder
print(filelist_shrpt)

Вот ошибка, которую я получаю: Ошибка: HTTPSConnectionPool (host = 'login.microsoftonline.com', port = 443): максимальное количество повторных попыток превышено с помощью url: /extSTS.srf (вызвано NewConnectionError (': не удалось установить sh новое соединение: [WinError 10060] Попытка подключения не удалась, поскольку подключенная сторона не ответила должным образом после периода времени или не удалось установить соединение, потому что подключенный хост не смог ответить '))

После сотрудничества с некоторыми более знающими коллегами мне сказали, что это может быть проблема с разрешениями; но я не уверен, как это проверить. Буду признателен за любую помощь и / или совет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...