Office365 REST Python客户端已连接,但未显示任何项目



我正在尝试使用Office365 Rest访问共享点。我正在使用这里描述的应用程序连接过程:

https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs

我设置了的权限

<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope=" https://*.sharepoint.com/sites/Engineering/content/tenant" Right="FullControl" />
</AppPermissionRequests>

Python代码:

import sys
from office365.runtime.auth.client_credential import ClientCredential
from office365.runtime.http.request_options import RequestOptions
from office365.sharepoint.client_context import ClientContext

client_id="*"
client_secret="*"
sp='https://*.sharepoint.com/sites/Engineering/'
client_credentials = ClientCredential(client_id,client_secret)
web = ctx.web.get().execute_query()
print(web.url)
ctx = ClientContext(sp).with_credentials(client_credentials)
list_source = ctx.web.lists.get_by_title("PDF")
items = mylist.get_items().select("ID").top(10)
ctx.execute_query()
for i in items:
print(i)

我的连接接通了。我打印了网址。如果我更改文件夹或访问代码,就会出现错误。然而,无论我试图从列表或文件夹中获取数据,我都从未获得任何数据。

我已经没有关于如何测试或下一步该做什么的想法了,任何帮助都将不胜感激。

我正在尝试访问3个项目,1个文件夹中有5000多个项目,一个列表中有5000个项目,还有一个文件夹中只有100个项目。在所有试图访问这些内容的情况下,我都一无所获。我想,有了100个项目的文件夹,我应该得到一些东西,然后我可以开发代码来浏览大列表。我已经尝试过github中的以下示例代码,但没有成功。

https://github.com/vgrem/Office365-REST-Python-Client/blob/55252191cb7f729f044f61542dca309249c743fc/examples/sharepoint/lists_and_items/read_large_list.py

我设法使用shareplum来更新列表,但目前似乎没有5000多个列表的解决方法,所以我希望一旦数据正常工作,就可以这样做。

当列表总数大于5000行时,处于默认模式的SharePoint列表将阻止某些查找调用。对于大型列表,您必须将其设置为"新体验"模式。

对于大列表,当执行返回极少量项的查询时,如果用于筛选查询的列未编入索引,则将失败且没有失败代码或异常。在我的情况下,过滤器是";(标题eq‘filename’(和(FindingSource eq‘Automated’(;。为这两列编制索引解决了问题。

最新更新