Forum Discussion
"Get Activity Events" REST API only returns 1 entry at a time
- 2 years ago
Hi all
Found a solution ... and documenting it for posternity. I tried to go all the way and see what happens if I keep using the continuation token with a while loop.
$url_get_logs = "https://api.powerbi.com/v1.0/myorg/admin/activityevents?startDateTime='2023-09-01T00:00:00'&endDateTime='2023-09-01T09:59:59'" $response = Invoke-RestMethod -Uri $url_get_logs -Method get -Headers $postParams $completeListOfActivityEvents = @() $completeListOfActivityEvents += $response.ActivityEventEntities $continuationToken = $response.continuationToken $continuationUri = $response.continuationUri while ($ContinuationToken -ne $null) { $response = Invoke-RestMethod -Uri $continuationUri -Method get -Headers $postParams $continuationUri = $response.continuationUri $continuationToken = $response.continuationToken $completeListOfActivityEvents += $response.ActivityEventEntities }Turns out this REST API is quite whimsical. Very stingy at the beginning – and then it starts going. It gave me 1 entry, then another 1, then 4, then 10, then 33, then 523, ...
So everything ok at the end ... but I feel like it would be good if this behaviour was documented.
Thanks
Alex
Hi all
Found a solution ... and documenting it for posternity. I tried to go all the way and see what happens if I keep using the continuation token with a while loop.
$url_get_logs = "https://api.powerbi.com/v1.0/myorg/admin/activityevents?startDateTime='2023-09-01T00:00:00'&endDateTime='2023-09-01T09:59:59'"
$response = Invoke-RestMethod -Uri $url_get_logs -Method get -Headers $postParams
$completeListOfActivityEvents = @()
$completeListOfActivityEvents += $response.ActivityEventEntities
$continuationToken = $response.continuationToken
$continuationUri = $response.continuationUri
while ($ContinuationToken -ne $null)
{
$response = Invoke-RestMethod -Uri $continuationUri -Method get -Headers $postParams
$continuationUri = $response.continuationUri
$continuationToken = $response.continuationToken
$completeListOfActivityEvents += $response.ActivityEventEntities
}Turns out this REST API is quite whimsical. Very stingy at the beginning – and then it starts going. It gave me 1 entry, then another 1, then 4, then 10, then 33, then 523, ...
So everything ok at the end ... but I feel like it would be good if this behaviour was documented.
Thanks
Alex