[英]Microsoft Graph Maximum number for List OneDrive Items?
我试图列出 Onedrive 文件夹中的所有项目。 在这个文件夹中正好有 333 个相同类型的文件。
通过 Microsoft Graph 的请求仅为此文件夹提供 200 个项目。
当我搜索文件(或文件扩展名)时,我得到的文件数量相同! 正好200。
物品/儿童有限制吗? 是否可以检索文件夹中的所有项目/子项?
OneDrive API 返回 200 个项目的默认页面大小(此处在 List Children 页面上提到)。 您应该在 JSON 对象上有一个名为 @odata.nextLink 的属性,这是您的应用程序可用于请求下一页内容(示例中剩余的 133 项)的 URL。
您还可以使用?top=500 查询字符串参数将页面大小控制为更适合您的值,或者通过将页面大小设置为更小的值(如 20 个项目)来测试此行为。
我相信我现在正在使用 Sharepoint 列表发生这种情况,因为我在列表中有 369 个项目,并且它继续返回 200 个。
def get_odata_nextLink_files(accessToken, graph_data, folders_data, files_data):
if '@odata.nextLink' in graph_data:
graph_data = requests.get(graph_data['@odata.nextLink'], headers={'Authorization': 'Bearer ' + accessToken}, ).json()
drive_data = graph_data['value']
for item in drive_data:
if 'folder' in item:
folders_data.append(item)
elif 'file' in item:
item.update({'size':formatBytes(item.get('size',0),1)})
files_data.append(item)
get_odata_nextLink_files(accessToken, graph_data, folders_data, files_data)
return graph_data, folders_data, files_data
graph_data = requests.get(user_endpoint, headers={'Authorization': 'Bearer ' + accessToken}, ).json()
graph_data, folders_data, files_data = get_odata_nextLink_files(accessToken, graph_data, folders_data, files_data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.