@@ -55,7 +55,7 @@ def list_groups() -> pd.DataFrame:
55
55
A pandas dataframe showing a list of groups and their properties.
56
56
"""
57
57
58
- result = _base_api (request = "groups" , client = "graph" ). json ( )
58
+ result = _base_api (request = "groups" , client = "graph" , uses_pagination = True )
59
59
60
60
columns = {
61
61
"Group Id" : "string" ,
@@ -76,24 +76,25 @@ def list_groups() -> pd.DataFrame:
76
76
df = _create_dataframe (columns = columns )
77
77
78
78
rows = []
79
- for v in result .get ("value" ):
80
- rows .append (
81
- {
82
- "Group Id" : v .get ("id" ),
83
- "Group Name" : v .get ("displayName" ),
84
- "Mail" : v .get ("mail" ),
85
- "Description" : v .get ("description" ),
86
- "Classification" : v .get ("classification" ),
87
- "Mail Enabled" : v .get ("mailEnabled" ),
88
- "Security Enabled" : v .get ("securityEnabled" ),
89
- "Created Date Time" : v .get ("createdDateTime" ),
90
- "Expiration Date Time" : v .get ("expirationDateTime" ),
91
- "Renewed Date Time" : v .get ("renewedDateTime" ),
92
- "Deleted Date Time" : v .get ("deletedDateTime" ),
93
- "Visibility" : v .get ("visibility" ),
94
- "Security Identifier" : v .get ("securityIdentifier" ),
95
- }
96
- )
79
+ for r in result :
80
+ for v in r .get ("value" , []):
81
+ rows .append (
82
+ {
83
+ "Group Id" : v .get ("id" ),
84
+ "Group Name" : v .get ("displayName" ),
85
+ "Mail" : v .get ("mail" ),
86
+ "Description" : v .get ("description" ),
87
+ "Classification" : v .get ("classification" ),
88
+ "Mail Enabled" : v .get ("mailEnabled" ),
89
+ "Security Enabled" : v .get ("securityEnabled" ),
90
+ "Created Date Time" : v .get ("createdDateTime" ),
91
+ "Expiration Date Time" : v .get ("expirationDateTime" ),
92
+ "Renewed Date Time" : v .get ("renewedDateTime" ),
93
+ "Deleted Date Time" : v .get ("deletedDateTime" ),
94
+ "Visibility" : v .get ("visibility" ),
95
+ "Security Identifier" : v .get ("securityIdentifier" ),
96
+ }
97
+ )
97
98
98
99
if rows :
99
100
df = pd .DataFrame (rows , columns = list (columns .keys ()))
@@ -190,7 +191,9 @@ def list_group_members(group: str | UUID) -> pd.DataFrame:
190
191
191
192
group_id = resolve_group_id (group )
192
193
193
- result = _base_api (request = f"groups/{ group_id } /members" , client = "graph" ).json ()
194
+ result = _base_api (
195
+ request = f"groups/{ group_id } /members" , client = "graph" , uses_pagination = True
196
+ )
194
197
195
198
columns = {
196
199
"Member Id" : "string" ,
@@ -209,22 +212,23 @@ def list_group_members(group: str | UUID) -> pd.DataFrame:
209
212
df = _create_dataframe (columns = columns )
210
213
211
214
rows = []
212
- for v in result .get ("value" ):
213
- rows .append (
214
- {
215
- "Member Id" : v .get ("id" ),
216
- "Member Name" : v .get ("displayName" ),
217
- "User Principal Name" : v .get ("userPrincipalName" ),
218
- "Mail" : v .get ("mail" ),
219
- "Job Title" : v .get ("jobTitle" ),
220
- "Office Location" : v .get ("officeLocation" ),
221
- "Mobile Phone" : v .get ("mobilePhone" ),
222
- "Business Phones" : str (v .get ("businessPhones" )),
223
- "Preferred Language" : v .get ("preferredLanguage" ),
224
- "Given Name" : v .get ("givenName" ),
225
- "Surname" : v .get ("surname" ),
226
- }
227
- )
215
+ for r in result :
216
+ for v in r .get ("value" , []):
217
+ rows .append (
218
+ {
219
+ "Member Id" : v .get ("id" ),
220
+ "Member Name" : v .get ("displayName" ),
221
+ "User Principal Name" : v .get ("userPrincipalName" ),
222
+ "Mail" : v .get ("mail" ),
223
+ "Job Title" : v .get ("jobTitle" ),
224
+ "Office Location" : v .get ("officeLocation" ),
225
+ "Mobile Phone" : v .get ("mobilePhone" ),
226
+ "Business Phones" : str (v .get ("businessPhones" )),
227
+ "Preferred Language" : v .get ("preferredLanguage" ),
228
+ "Given Name" : v .get ("givenName" ),
229
+ "Surname" : v .get ("surname" ),
230
+ }
231
+ )
228
232
229
233
if rows :
230
234
df = pd .DataFrame (rows , columns = list (columns .keys ()))
@@ -254,7 +258,9 @@ def list_group_owners(group: str | UUID) -> pd.DataFrame:
254
258
255
259
group_id = resolve_group_id (group )
256
260
257
- result = _base_api (request = f"groups/{ group_id } /owners" , client = "graph" ).json ()
261
+ result = _base_api (
262
+ request = f"groups/{ group_id } /owners" , client = "graph" , uses_pagination = True
263
+ )
258
264
259
265
columns = {
260
266
"Owner Id" : "string" ,
@@ -273,22 +279,23 @@ def list_group_owners(group: str | UUID) -> pd.DataFrame:
273
279
df = _create_dataframe (columns = columns )
274
280
275
281
rows = []
276
- for v in result .get ("value" ):
277
- rows .append (
278
- {
279
- "Owner Id" : v .get ("id" ),
280
- "Owner Name" : v .get ("displayName" ),
281
- "User Principal Name" : v .get ("userPrincipalName" ),
282
- "Mail" : v .get ("mail" ),
283
- "Job Title" : v .get ("jobTitle" ),
284
- "Office Location" : v .get ("officeLocation" ),
285
- "Mobile Phone" : v .get ("mobilePhone" ),
286
- "Business Phones" : str (v .get ("businessPhones" )),
287
- "Preferred Language" : v .get ("preferredLanguage" ),
288
- "Given Name" : v .get ("givenName" ),
289
- "Surname" : v .get ("surname" ),
290
- }
291
- )
282
+ for r in result :
283
+ for v in r .get ("value" , []):
284
+ rows .append (
285
+ {
286
+ "Owner Id" : v .get ("id" ),
287
+ "Owner Name" : v .get ("displayName" ),
288
+ "User Principal Name" : v .get ("userPrincipalName" ),
289
+ "Mail" : v .get ("mail" ),
290
+ "Job Title" : v .get ("jobTitle" ),
291
+ "Office Location" : v .get ("officeLocation" ),
292
+ "Mobile Phone" : v .get ("mobilePhone" ),
293
+ "Business Phones" : str (v .get ("businessPhones" )),
294
+ "Preferred Language" : v .get ("preferredLanguage" ),
295
+ "Given Name" : v .get ("givenName" ),
296
+ "Surname" : v .get ("surname" ),
297
+ }
298
+ )
292
299
293
300
if rows :
294
301
df = pd .DataFrame (rows , columns = list (columns .keys ()))
0 commit comments