Skip to content

Commit 3780dd4

Browse files
authored
Update README.md for Pagination example
Added Pagination example for the Python SDK using odata_next_link.
1 parent 901aaec commit 3780dd4

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,24 @@ async def get_user():
165165
asyncio.run(get_user())
166166
```
167167

168+
### 3.2 Pagination
169+
By default a maximum of 100 rows are returned but in the response if odata_next_link is present, it can be used to fetch the next batch of max 100 rows. Here's an example to fetch the initial rows of members in a group, then iterate over the pages of rows using the odata_next_link
170+
```py
171+
# get group members
172+
members = await client.groups.by_group_id(id).members.get()
173+
if members:
174+
print(f"########## Members:")
175+
for i in range(len(members.value)):
176+
print(f"display_name: {members.value[i].display_name}, mail: {members.value[i].mail}, id: {members.value[i].id}")
177+
178+
# iterate over result batches > 100 rows
179+
while members is not None and members.odata_next_link is not None:
180+
members = await client.groups.by_group_id(id).members.with_url(members.odata_next_link).get()
181+
if members:
182+
print(f"########## Members:")
183+
for i in range(len(members.value)):
184+
print(f"display_name: {members.value[i].display_name}, mail: {members.value[i].mail}, id: {members.value[i].id}")
185+
```
168186

169187
## Documentation and resources
170188

0 commit comments

Comments
 (0)