Около месяца назад я написал скрипт на Powershell для ежедневного сбора подробных данных об использовании пользователями из Skype для бизнеса. В то время, когда я это написал, скрипт успешно вытащил данные и записал их в файл csv. Теперь, когда я запускаю этот скрипт, вызов API успешно выполняется и возвращает заголовки отчетов, но не возвращает никаких данных. Кто-нибудь замечал какие-либо проблемы со стабильностью при использовании конечных точек отчетов SkypeForBusiness?
код для справки:
$redirectUrl = "https://localhost:8000"
$GraphAPIURI="https://graph.microsoft.com"
$client_id = "app-id"
$client_secret = "app-secret"
$delimiterHeader="sep=;`n"
$D7UserDetailOutput= "D7UserDetail.csv"
$D30UserDetailOutput= "D30UserDetail.csv"
$D90UserDetailOutput= "D90UserDetail.csv"
$D180UserDetailOutput= "D180UserDetail.csv"
Add-Type -AssemblyName System.Web
$tenantid="tenantid"
$url="https://login.microsoftonline.com/$tenantid/oauth2/v2.0/token"
$Auth =
Invoke-RestMethod -Method post `
-ContentType application/x-www-form-urlencoded `
-Uri $url `
-body "client_id=$client_id&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret=$client_secret&grant_type=client_credentials"
$D7Detail=Invoke-RestMethod -Headers @{Authorization =("Bearer "+ $Auth.access_token)} `
-Uri "https://graph.microsoft.com/v1.0/reports/getSkypeForBusinessActivityUserDetail(period='D7')" `
-Method Get `
-TimeoutSec 60
$D30Detail=Invoke-RestMethod -Headers @{Authorization =("Bearer "+ $Auth.access_token)} `
-Uri "https://graph.microsoft.com/v1.0/reports/getSkypeForBusinessActivityUserDetail(period='D30')" `
-Method Get `
-TimeoutSec 60
$D90Detail=Invoke-RestMethod -Headers @{Authorization =("Bearer "+ $Auth.access_token)} `
-Uri "https://graph.microsoft.com/v1.0/reports/getSkypeForBusinessActivityUserDetail(period='D90')" `
-Method Get `
-TimeoutSec 60
$D180Detail=Invoke-RestMethod -Headers @{Authorization =("Bearer "+ $Auth.access_token)} `
-Uri "https://graph.microsoft.com/v1.0/reports/getSkypeForBusinessActivityUserDetail(period='D180')" `
-Method Get `
-TimeoutSec 60
$DataCollection=@($D7Detail,$D30Detail,$D90Detail,$D180Detail)
$FileCollection=@($D7UserDetailOutput,$D30UserDetailOutput,$D90UserDetailOutput,$D180UserDetailOutput)
$SfBUserDetail=""
$SfBUserDetail=Invoke-RestMethod -Headers @{Authorization =("Bearer "+ $Auth.access_token)} `
-Method Get `
-Uri "$($GraphAPIURI)/v1.0/reports/getSkypeForBusinessActivityUserDetail(date=$(Get-date -Date (get-date).AddDays(-1) -Format 'yyyy-MM-dd'))" `
-TimeoutSec 60
$SfBUserDetail | out-file "\\ADFS01\Brainwave Projects\DataWave\_Templates\O365Analytics\Skype for Business Data Storage\UserDetailReports\SkypeForBusinessUserDetail_$(Get-date -Date (get-date).AddDays(-1) -Format 'yyyy-MM-dd').csv" -Force:$true