@@ -55,7 +55,7 @@ def list_groups() -> pd.DataFrame:
5555 A pandas dataframe showing a list of groups and their properties.
5656 """
5757
58- result = _base_api (request = "groups" , client = "graph" ). json ( )
58+ result = _base_api (request = "groups" , client = "graph" , uses_pagination = True )
5959
6060 columns = {
6161 "Group Id" : "string" ,
@@ -76,24 +76,25 @@ def list_groups() -> pd.DataFrame:
7676 df = _create_dataframe (columns = columns )
7777
7878 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+ )
9798
9899 if rows :
99100 df = pd .DataFrame (rows , columns = list (columns .keys ()))
@@ -190,7 +191,9 @@ def list_group_members(group: str | UUID) -> pd.DataFrame:
190191
191192 group_id = resolve_group_id (group )
192193
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+ )
194197
195198 columns = {
196199 "Member Id" : "string" ,
@@ -209,22 +212,23 @@ def list_group_members(group: str | UUID) -> pd.DataFrame:
209212 df = _create_dataframe (columns = columns )
210213
211214 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+ )
228232
229233 if rows :
230234 df = pd .DataFrame (rows , columns = list (columns .keys ()))
@@ -254,7 +258,9 @@ def list_group_owners(group: str | UUID) -> pd.DataFrame:
254258
255259 group_id = resolve_group_id (group )
256260
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+ )
258264
259265 columns = {
260266 "Owner Id" : "string" ,
@@ -273,22 +279,23 @@ def list_group_owners(group: str | UUID) -> pd.DataFrame:
273279 df = _create_dataframe (columns = columns )
274280
275281 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+ )
292299
293300 if rows :
294301 df = pd .DataFrame (rows , columns = list (columns .keys ()))
0 commit comments