Я хочу отправить сообщение на канал Team без пользователя из внешнего приложения через HTTP-вызов. Поэтому для этого я создал приложение, как описано здесь
Теперь я написал JAVA код для отправки сообщения, как предлагается здесь: введите описание ссылки здесь Но, похоже, что невозможно отправить сообщение через HTTP-вызов из-за разрешения Тип приложения не поддерживается. Я получаю 401
URL url = new URL("https://graph.microsoft.com/beta/teams/<tanentid>/channels/<channelid>/messages");
JSONObject obj = new JSONObject();
obj.put("content", "Hello world");
JSONObject mainobj = new JSONObject();
mainobj.put("body", obj);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer " + accessToken);
conn.setRequestProperty("Accept","application/json");
conn.addRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String postBody = mainobj.toString();
conn.getOutputStream().write(postBody.getBytes());
int httpResponseCode = conn.getResponseCode();
if(httpResponseCode == 200) {
BufferedReader in = null;
StringBuilder response;
try{
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String inputLine;
response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
} finally {
in.close();
}
return response.toString();
} else {
return String.format("Connection returned HTTP code: %s with message: %s",
httpResponseCode, conn.getResponseMessage());
}
Этот HTTP-вызов работает нормально: https://graph.microsoft.com/beta/teams/{id}/channels
1) Возможно ли это как-то? 2) Если нет, то Бот может отправлять сообщения на основе ввода из внешнего приложения через HTTP-вызов?