Я пытаюсь отправить сообщение на канал команды с помощью функции Azure через Microsoft Graph.
Я выполнил шаги по регистрации приложения в Azure AD, предоставляя разрешения API этого приложения (Group.ReadWrite.All
), запрашивая токен, чтобы мое приложение могло вызывать Graph как пользователь, а затем вызывать API с этим токеном носителя.
Пока это работает для получения сообщений из команд Канал, и вызов возвращает все сообщения из канала, как ожидалось. Но когда я пытаюсь POST
новое сообщение, я получаю Unauthorised
ответ. Я думаю, что выбрал правильные разрешения API и получил разрешение на эти разрешения, поэтому не вижу, что пропустил или испортил.
Вот некоторые подробности моего запроса токена AAD:
И вот возвращенный токен
{
"token_type":"Bearer",
"scope":"Chat.ReadWrite Group.ReadWrite.All TeamsActivity.Send User.Read",
"expires_in":"3599",
"ext_expires_in":"3599",
"expires_on":"1581602086",
"not_before":"1581598186",
"resource":"https://graph.microsoft.com",
"access_token":"eyJ0eXAiOiJKV1QiLCJub25jZSI6Ilp6REVFN..."
}
Затем я выполняю вызов к конечной точке Графа /beta/teams/{Team ID}/channels/{Channel ID}/messages
с заголовком токена носителя. Затем я пытаюсь POST
сообщение, добавив к сообщению следующее тело (RestSharp):
graphRequest.AddParameter(
"application/json",
"{\"body\": {\"content\": \"Hello World\"}}",
ParameterType.RequestBody);
И это ответ:
{
"error": {
"code": "Forbidden",
"message": "Forbidden",
"innerError": {
"request-id": "487ce496-09dd-4385-98ba-f7c1f561b996",
"date": "2020-02-13T13:27:32"
}
}
Вот декодированный токен
{
"iat": 1581600138,
"nbf": 1581600138,
"exp": 1581604038,
"acct": 0,
"acr": "1",
"aio": "{removed}",
"amr": ["pwd"],
"app_displayname": "{removed}",
"appid": "{removed}",
"appidacr": "1",
"family_name": "test",
"given_name": "AM",
"ipaddr": "{removed}",
"name": "AM Test",
"oid": "{removed}",
"platf": "14",
"puid": "10032000842ED84F",
"scp": "Chat.ReadWrite Group.ReadWrite.All TeamsActivity.Send User.Read",
"sub": "{removed}",
"tid": "{removed}",
"unique_name": "{removed}.onmicrosoft.com",
"upn": "{removed}.onmicrosoft.com",
"uti": "{removed}",
"ver": "1.0",
"xms_tcdt": 1307525692
}