Я пытаюсь использовать Graph API с PowerShell (/ команды / {ID} / каналы / {ID} / сообщения) Для этого у меня есть приложение azure с разрешениями API (делегированные и приложения) "Group.ReadWrite .Все и некоторые другие. Моя учетная запись как администратор
Я получил свой токен правильно с этим
$Body = @{grant_type = "client_credentials"; resource = "https://graph.microsoft.com"; client_id =
$ClientID; client_secret = $secret; username = $SPLogin; password = $encpassword }
$res = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$TenantId/oauth2/token?api-version=1.0" -Body $bodyStr -Headers $head
$headerUser = @{"Authorization" = "Bearer " + $res.access_token };
Вот что я получил в качестве токена
token_type : Bearer
expires_in : 3599
ext_expires_in : 3599
expires_on : 1583338248
not_before : 1583334348
resource : https://graph.microsoft.com
access_token : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Когда у меня есть мой токен правильно, я сначала пытаюсь получить все сообщения в канале (https://docs.microsoft.com/en-us/graph/api/channel-list-messages?view=graph-rest-beta&tabs=http)
$apiUrl = "https://graph.microsoft.com/beta/teams/$groupID/channels/$chanelID/messages"
$myPostedMsg = Invoke-RestMethod -Headers $headerUser -Uri $apiUrl -Method Get
К сожалению, он не работает должным образом и имеет эту ошибку
Invoke-RestMethod : {
"error": {
"code": "UnknownError",
"message": "",
"innerError": {
"request-id": "4cd0e36f-2e0c-4712-b613-bcc350595aee",
"date": "2020-03-04T15:12:53"
}
}
}
At line:1 char:16
+ ... PostedMsg = Invoke-RestMethod -Headers $headerUser -Uri $apiUrl -Met ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-
RestMethod], WebException
+ FullyQualifiedErrorId :
WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
У меня та же проблема, если я пытаюсь отправить сообщение
$body = "{
""body"": {
""content"": ""Ceci est un message"",
""subject"":""Subject"",
""contentType"":""html""
}
}"
$apiUrl = "https://graph.microsoft.com/beta/teams/$groupID/channels/$chanelID/messages"
$myPostedMsg = Invoke-RestMethod -Headers $headerUser -Uri $apiUrl -Body $body -Method Post -ContentType "application/json"
Если у кого-то уже была эта проблема