【发布时间】:2019-09-26 17:45:25
【问题描述】:
我正在尝试将文档上传到在线 SharePoint。
目标网址:https://companyURL.sharepoint.com/sites/A/B/Info_documents/C
我的目标是搜索文件夹 C,如果文件夹 C 中存在 X 子文件夹,我需要上传文件。为此,我通过导航到 http://{sharepointsite}/_layouts/15/AppRegNew.aspx 生成了 client_id 和 client_secret。在 XML 权限中,我给出了以下代码:
我正在使用https://github.com/vgrem/Office365-REST-Python-Client 进行此实现。当尝试使用以下代码 sn-p 查看时,如果我可以使用 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')
但是我给了权限,不确定是我做错了还是选择了错误的模块。
请帮忙。
以下是我在生成client_ID和client_secret时给出的XML代码:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read"/>
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
</AppPermissionRequests>
【问题讨论】:
标签: python python-3.x rest ms-access sharepoint