Не получается ссылка После функции API при загрузке документа на URL - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь загрузить электронную таблицу на Sharepoint, для которой я использую функцию REST API.

Код, который я использую для генерации URL-адреса, а также для загрузки файла, -

import sys
import requests, os
from requests_ntlm import HttpNtlmAuth

sharePointUrl = 'https://Sharepoint.asr.ith.itl.com/Skt/patchboard'
folderUrl = '/Documents/Patch_automation_work_area'
fileName='/abc/asc/roj/skx/skx_val/rsingh/Patch/Excel.xlsm'

#Setting up the url for requesting a file upload
requestUrl = sharePointUrl + '/_api/web/getfolderbyserverrelativeurl(\'' + folderUrl + '\')/Files/addas(url=\'' + fileName + '\',overwrite=true)'
print(requestUrl)

При печати сгенерированного URL-адреса с выводом в виде -

https://Sharepoint.asr.ith.itl.com/Skt/patchboard/_api/web/getfolderbyserverrelativeurl('/Documents/Patch_automation_work_area')/Files/addas(url='/abc/asc/roj/skx/skx_val/rsingh/Patch/Excel.xlsm',overwrite=true)

Таким образом, полный URL-адрес не создается для загрузки файла, и он показываетОшибка 404 при доступе по ссылке с использованием модуля запросов в python.Может кто-нибудь, пожалуйста, помогите мне, почему я получаю эту ошибку и как сгенерировать ссылку для загрузки документа ??

РЕДАКТИРОВАТЬ мою ссылку для загрузки примерно так

https://sharepoint.asr.ith.itl.com/sites/SK/patchboard/_layouts/Upload.aspx?List={CE897D7B-8DC4-4F9C-AF4D-D41DB89DA6D3}&RootFolder=%2Fsites%2FSKX%2Fpatchboard%2FDocuments%2FPatch%5Fautomation%5Fwork%5Farea

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

Мой путь к файлу -

/abc/asc/roj/skx/skx_val/rsingh/Patch/Excel.xlsm

Теперь я хочу связать этот путь к файлу с указанным выше URL, чтобы можно было сформировать путь для прямой загрузки. Прямая конкатенация не работает, так как я думаю, что прямая конкатенация не знает значения параметра обзора и может бытьпока он не может указать путь к файлу в нужном месте.

Может кто-нибудь сказать мне, как его решить.

1 Ответ

0 голосов
/ 02 ноября 2018

Я решил проблему.Вместо того, чтобы давать ссылку URL из браузера, я дал базовую ссылку для ресурса, например, -

https://sharepoint.asr.ith.itl.com

, а затем добавил путь к нужному месту в точке обмена, где я хотелчтобы загрузить файл как -

sites/SK/patchboard/shared_documents/patch_work_area

Это сформировало полную ссылку как -

https://sharepoint.asr.ith.itl.com/sites/SK/patchboard/shared_documents/patch_work_area

, тогда я использовал команду as-

curl --ntlm --user username:password --upload-file <filename> https://sharepoint.amr.ith.intel.com/sites/SK/patchboard/shared_documents/patch_work_area/<file_name to upload>

Это былоработал на меня.

...