File tree Expand file tree Collapse file tree 1 file changed +24
-3
lines changed Expand file tree Collapse file tree 1 file changed +24
-3
lines changed Original file line number Diff line number Diff line change 1
1
<?php
2
- //require_once __DIR__ . '/vendor/autoload.php';
3
2
4
3
namespace Group ;
5
4
@@ -123,7 +122,29 @@ public function inGroup($email, $group)
123
122
124
123
public function listGroup ($ group , $ count = 200 )
125
124
{
126
- $ parameters = array ('maxResults ' => $ count );
127
- return $ this ->service ->members ->listMembers ($ group , $ parameters )['members ' ];
125
+ if ($ count <= 200 ) {
126
+ return $ this ->service ->members ->listMembers ($ group )['members ' ];
127
+ }
128
+
129
+ $ max_per_page = 200 ;
130
+ $ members = array ();
131
+ $ fetched = 0 ;
132
+ $ parameters = array ('maxResults ' => $ max_per_page );
133
+
134
+ do {
135
+ $ m = $ this ->service ->members ->listMembers ($ group , $ parameters );
136
+ $ members = array_merge ($ members , $ m ['members ' ]);
137
+ $ fetched += count ($ m ['members ' ]);
138
+ $ page_token = $ m ['nextPageToken ' ];
139
+
140
+ if ($ count - $ fetched <= 0 ) {
141
+ break ;
142
+ }
143
+
144
+ $ parameters ['maxResults ' ] = min (200 , $ count - $ fetched );
145
+ $ parameters ['pageToken ' ] = $ page_token ;
146
+ } while (strlen ($ page_token ) > 0 || $ fetched > $ count );
147
+
148
+ return $ members ;
128
149
}
129
150
}
You can’t perform that action at this time.
0 commit comments