Я пытаюсь загрузить документы в SharePoint онлайн.
Целевой URL: https://companyURL.sharepoint.com/sites/A/B/Info_documents/C
Моя цель - выполнить поиск в папке C, и если подпапка X присутствует в папке C, мне нужно загрузить файл.Для этого я сгенерировал client_id и client_secret, перейдя к http://{sharepointsite}/_layouts/15/AppRegNew.aspx. В разрешениях XML я дал следующий код:
Я использую https://github.com/vgrem/Office365-REST-Python-Client для этогореализация.При попытке использовать следующий фрагмент кода, чтобы увидеть, если у меня есть доступ к sharepoint с помощью client_id и client_secret, я вижу разные ошибки:
import json
from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.runtime.client_request import ClientRequest
from office365.runtime.utilities.request_options import RequestOptions
from office365.sharepoint.client_context import ClientContext
app_settings = {
'url': 'https://companyURL.sharepoint.com/sites/A/B/Info_documents/C',
'client_id': 'xxxxxxxx',
'client_secret': 'xxxxxx',
}
context_auth = AuthenticationContext(url=app_settings['url'])
context_auth.acquire_token_for_app(client_id=app_settings['client_id'], client_secret=app_settings['client_secret'])
ctx = ClientContext(app_settings['url'], context_auth)
web = ctx.web
ctx.load(web)
ctx.execute_query()
print("Web site title: {0}".format(web.properties['Title']))
Ошибка: ClientRequestException: ('-2147024891, System.UnauthorizedAccessException ',' Доступ запрещен. У вас нет разрешения на выполнение этого действия или доступ к этому ресурсу. ',' 403 Ошибка клиента: запрещено для URL: https://companyURL.sharepoint.com/sites/A/B/Info_documents/C_api/Web')
Но я дал разрешения, не уверен, чтоЯ делаю неправильно или выбрал неправильный модуль.
Пожалуйста, помогите.
Ниже приведен код XML, который я дал при генерации client_ID и client_secret:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read"/>
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
</AppPermissionRequests>