try catch

This commit is contained in:
Lanta 2023-09-27 22:03:57 +02:00
parent 5ebdce790c
commit c537708cc3
2 changed files with 39 additions and 15 deletions

View file

@ -23,8 +23,13 @@ $headers = @{
'accept' = 'application/vnd.api+json' 'accept' = 'application/vnd.api+json'
'Authorization' = "$apiKey" 'Authorization' = "$apiKey"
} }
try {
$claninfo = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/clans/$clanid" -Method GET -Headers $headers $claninfo = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/clans/$clanid" -Method GET -Headers $headers
} catch {
write-output "sleeping for 61 sec"
start-sleep -Seconds 61
$claninfo = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/clans/$clanid" -Method GET -Headers $headers
}
# Get current date and time # Get current date and time
$currentDateTime = Get-Date $currentDateTime = Get-Date

View file

@ -1,7 +1,8 @@
 
if ($PSScriptRoot.length -eq 0) { if ($PSScriptRoot.length -eq 0) {
$scriptroot = Get-Location $scriptroot = Get-Location
}else{ }
else {
$scriptroot = $PSScriptRoot $scriptroot = $PSScriptRoot
} }
# Read the content of the file as a single string # Read the content of the file as a single string
@ -33,7 +34,13 @@ $headers = @{
'accept' = 'application/vnd.api+json' 'accept' = 'application/vnd.api+json'
'Authorization' = "$apiKey" 'Authorization' = "$apiKey"
} }
try {
$playerinfo = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/players?filter[playerNames]=$clanMembers" -Method GET -Headers $headers $playerinfo = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/players?filter[playerNames]=$clanMembers" -Method GET -Headers $headers
} catch {
write-output 'Sleeping for 61 seconds'
start-sleep -Seconds 61
$playerinfo = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/players?filter[playerNames]=$clanMembers" -Method GET -Headers $headers
}
$playerinfo.data | convertto-json -depth 100 | Out-File "$scriptroot/../data/player_data.json" $playerinfo.data | convertto-json -depth 100 | Out-File "$scriptroot/../data/player_data.json"
$playerList = @() $playerList = @()
$playerinfo.data | ForEach-Object { $playerinfo.data | ForEach-Object {
@ -70,9 +77,21 @@ foreach ($playmode in $playermodes) {
# Fetch stats for the current playmode # Fetch stats for the current playmode
if ($webrequestlimiter -le 8) { if ($webrequestlimiter -le 8) {
write-output "Getting data for players $playeridstring gameode $playmode" write-output "Getting data for players $playeridstring gameode $playmode"
try{
$stats = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/seasons/lifetime/gameMode/$playmode/players?filter[playerIds]=$playeridstring" -Method GET -Headers $headers $stats = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/seasons/lifetime/gameMode/$playmode/players?filter[playerIds]=$playeridstring" -Method GET -Headers $headers
} catch {
write-output 'sleeping for 61 seconds'
start-sleep -Seconds 61
$stats = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/seasons/lifetime/gameMode/$playmode/players?filter[playerIds]=$playeridstring" -Method GET -Headers $headers
}
$webrequestlimiter++ $webrequestlimiter++
}else{ }
else {
write-ouput "sleeping for 60 seconds" write-ouput "sleeping for 60 seconds"
$webrequestlimiter = 0 $webrequestlimiter = 0
} }