Très bien, donc après avoir discuté avec Microsoft "Professional Support", ils ne pouvaient pas m'aider. M'avait dit d'accéder aux rapports via l'interface graphique du rapport SfB et d'exporter vers Excel.Erreur 400 Mauvaise demande lors de la tentative d'activation de l'activité Skype Entreprise via l'API graphique
Oui, c'est complètement inutile pour moi. Après avoir lu beaucoup plus, mon premier exemple d'authentification était obsolète.
Maintenant, j'ai un script oAuth2 PowerShell entièrement fonctionnel qui me donne un jeton valide.
Mais j'ai le même problème lorsque j'utilise l'Explorateur de graphes (403 Interdit). Je sais que le jeton fonctionne parce que je peux interroger d'autres informations \ si j'enlève le VAR du jeton de l'en-tête GET, les erreurs indiquant que le jeton du porteur est vide, tout est correct.
Microsoft, if you're out there can someone please confirm that the SfB Report API is up and running for the statistics I'm attempting to pull?
MISE À JOUR SCRIPT
#Obtaining oAuth2 Token from Microsoft Azure \ communicate with Microsoft Graph API
$ClientID = "MyID"
$client_Secret = "MySecretKey"
#Define URI for Azure Tenant
$Uri = "https://login.microsoftonline.com/MyTenantID/oauth2/token"
#Define Microsoft Graph - Skype for Business reports interface URI
$exportSfB = "https://graph.microsoft.com/beta/reports/SfbActivity(view='Detail',date='2017-04-11')/content"
#Define the body of the request
$Body = @{grant_type='client_credentials';client_id=$ClientID;client_secret=$client_secret;resource='https://graph.microsoft.com'}
#Define the content type for the request
$ContentType = "application/x-www-form-urlencoded"
#Invoke REST method. This handles the deserialization of the JSON result. Less effort than invoke-webrequest
$admAuth=Invoke-RestMethod -Uri $Uri -Body $Body -Method Post
#Construct the header value with the access_token just recieved
$HeaderValue = "Bearer " + $admauth.access_token
#Query Microsoft Graph with new Token
$result = Invoke-RestMethod -Headers @{Authorization=$HeaderValue} -Uri $exportSfB –Method Get -Verbose
#Results should be a .CSV
$result.string.'#text'
ORIGINAL FILET Quelqu'un peut-il s'il vous plaît jeter un oeil à ce code REST et me dire ce qu'ils pensent?
Je reçois:
Invoke-RestMethod: Le serveur distant a renvoyé une erreur: (400) Bad Request.
- CategoryInfo: InvalidOperation
Je n'ai pas été en mesure de tirer un Skype unique pour le rapport d'activité des entreprises utilisant le graphique.
$tenant = "MyTenant.onmicrosoft.com"
function GetAuthToken
{
param
(
[Parameter(Mandatory=$true)]
$TenantName
)
$adal = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
$adalforms = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll"
[System.Reflection.Assembly]::LoadFrom($adal) | Out-Null
[System.Reflection.Assembly]::LoadFrom($adalforms) | Out-Null
$clientId = "MyID"
$redirectUri = "urn:ietf:wg:oauth:2.0:oob"
$resourceAppIdURI = "https://graph.microsoft.com/"
$authority = "https://login.windows.net/$TenantName"
$authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority
$authResult = $authContext.AcquireToken($resourceAppIdURI, $clientId,$redirectUri, "Auto")
return $authResult
}
# Set Token var
$token = GetAuthToken -TenantName $tenant
# Building Rest Api header with authorization token
$authHeader = @{
'Content-Type'='application\json'
'Authorization'=$token.CreateAuthorizationHeader()
}
$uri = "https://graph.microsoft.com/beta/reports/SfbActivity(view='Detail',date='2017-04-11')"
$output = (Invoke-RestMethod -Uri $uri –Headers $authHeader –Method Get –Verbose).value
Malheureusement cela n'a pas résolu le problème mais c'est une bonne prise . Je n'étais pas capable de le faire fonctionner en utilisant Microsoft Graph Explorer. J'ai un ticket ouvert à Microsoft à ce sujet. Je me rends compte que c'est en version bêta, mais j'ai vraiment besoin d'obtenir ces statistiques. – CWB
Graph Explorer peut ne pas fonctionner pour le moment. Je ne crois pas qu'il demande la portée Reports.Read.All, donc il va tout simplement rejeter une erreur 403. –
Salut Marc, savez-vous si l'API SfB pour les rapports est accessible? – CWB