Загрузка файла на сайт SharePoint с помощью Python

Вам интересно, как загружать файлы в SharePoint с помощью скрипта Python?

«SharePoint» может быть использован для создания сайтов, предоставляющих пользователям возможность для совместной работы. Создаваемые на платформе «SharePoint» сайты могут быть использованы в качестве хранилища информации, знаний и документов, а также использоваться для исполнения облегчающих взаимодействие веб-приложений, таких как вики и блоги. Пользователи могут управлять и взаимодействовать с информацией в списках и библиотеках документов, используя элементы управления, называемые веб-части (SharePoint WebParts).

В этой статье вы узнаете, как Python может помочь вам сэкономить время и силы. Вы сможете распрощаться с ручной загрузкой файлов, что даст вам продуктивность 😊.

Если хочется больше контента не только по SQL, но и по ML, Data Science, Python — добро пожаловать в тг

А вот тут отдельно разбор заданий с DS

Давайте начнем!

Шаг 1. Установите Office365-Rest-Python-Client

pip install Office365-REST-Python-Client

*pip или pip3 в зависимости от вашей системы

Шаг 2. Импорт необходимых библиотек

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

Шаг 3. Аутентификация

3.1 Создание объекта контекста клиента

Проще говоря, клиентский контекст – это объект, содержащий информацию об объектах SharePoint (сайтах, списках и элементах) и методах (создание, чтение, обновление, удаление). Он нужен нам, чтобы мы могли получать файлы и отправлять обновления обратно. В этой статье мы создадим объект контекста, используя идентификатор клиента и его секрет.

site_url = 'https://{your-tenant-prefix}/sites/{your-folder-of-interest}'
app_principal = {
  'client_id': '{client_id}',
  'client_secret': '{client_secret}',
}
context_auth = AuthenticationContext(url=site_url)
context_auth.acquire_token_for_app(client_id=app_principal['client_id'], 
client_secret=app_principal['client_secret'])
ctx = ClientContext(site_url, context_auth)

3.2 Получение заголовка веб-сайта SharePoint для проверки того, работает ли объект контекста клиента так, как ожидалось.

web=ctx.web
# We want to retrieve the web's title
ctx.load(web)
# Execute the query to server.
ctx.execute_query()
print("Web site title: {0}".format(web.properties['Title']))

*Ваш объект клиентского контекста готов к загрузке файла

Шаг 4. Загрузка файла на сайт SharePoint

4.1 Импорт модуля os

Модуль OS предоставляет функции для взаимодействия с операционной системой

localpath = "{local path of the file you want to upload to SharePoint Site}/file_to_transfer.txt"
remotepath = "/sites/{path_to_folder_of_your_interest}/"+"name_you_want_to_give_to_uploaded_file.xlsx"

*убедитесь, что вы следуете этому синтаксису для удаленного пути, иначе код не будет работать

4.2 Откройте и прочитайте содержимое локального файла в двоичном формате (“rb”) и сохраните его в переменной

with open(localpath,"rb") as content_file:
    file_content = content_file.read()

4.3 Загрузите содержимое файла_содержимого из предыдущего шага на сайт SharePoint

dir, name = os.path.split(remotepath)
# this will Split the remotepath  into a pair , dir = path till before file name and name = file name

4.4 Загрузите файл на сайт SharePoint

file = ctx.web.get_folder_by_server_relative_url(dir).upload_file(name, file_content).execute_query()

Вуаля! Ваш файл загружен!

Продолжайте учиться!!!!!

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *