Enviar mensagem em um chat
Artigo
07/18/2022
3 minutos para o fim da leitura
3 colaboradores
Neste artigo
Namespace: microsoft.graph
Envie um novo chatMessage no chat especificado . Essa API não pode criar um novo chat; você deve usar o método de chats de lista para recuperar a ID de um chat existente antes de criar uma mensagem de chat.
Observação : não recomendamos que você use essa API para migração de dados. Ele não tem a produtividade necessária para uma migração típica.
Observação : é uma violação dos termos de uso para usar Microsoft Teams como um arquivo de log. Envie apenas mensagens que as pessoas lerão.
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões .
Tipo de permissão
Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante)
ChatMessage.Send, Chat.ReadWrite
Delegado (conta pessoal da Microsoft)
Sem suporte.
Aplicativo
Sem suporte.
Solicitação HTTP
POST /chats/{chat-id}/messages
Nome
Descrição
Autorização
{code} do portador. Obrigatório.
Corpo da solicitação
No corpo da solicitação, fornece uma representação JSON de um objeto chatMessage.
Resposta
Se tiver êxito, este método retornará um código de resposta e um 201 Created novo objeto chatMessage no corpo da resposta.
Exemplos
Para obter uma lista mais abrangente de exemplos, consulte Create chatMessage in a channel or a chat .
Solicitação
Este é um exemplo de solicitação.
POST https://graph.microsoft.com/v1.0/chats/19:2da4c29f6d7041eca70b638b43d45437@thread.v2/messages
Content-type: application/json
{
"body": {
"content": "Hello world"
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var chatMessage = new ChatMessage
{
Body = new ItemBody
{
Content = "Hello world"
}
};
await graphClient.Chats["{chat-id}"].Messages
.Request()
.AddAsync(chatMessage);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
const options = {
authProvider,
};
const client = Client.init(options);
const chatMessage = {
body: {
content: 'Hello world'
}
};
await client.api('/chats/19:2da4c29f6d7041eca70b638b43d45437@thread.v2/messages')
.post(chatMessage);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/chats/19:2da4c29f6d7041eca70b638b43d45437@thread.v2/messages"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphChatMessage *chatMessage = [[MSGraphChatMessage alloc] init];
MSGraphItemBody *body = [[MSGraphItemBody alloc] init];
[body setContent:@"Hello world"];
[chatMessage setBody:body];
NSError *error;
NSData *chatMessageData = [chatMessage getSerializedDataWithError:&error];
[urlRequest setHTTPBody:chatMessageData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
ChatMessage chatMessage = new ChatMessage();
ItemBody body = new ItemBody();
body.content = "Hello world";
chatMessage.body = body;
graphClient.chats("19:2da4c29f6d7041eca70b638b43d45437@thread.v2").messages()
.buildRequest()
.post(chatMessage);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewChatMessage()
body := msgraphsdk.NewItemBody()
requestBody.SetBody(body)
content := "Hello world"
body.SetContent(&content)
chatId := "chat-id"
result, err := graphClient.ChatsById(&chatId).Messages().Post(requestBody)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Import-Module Microsoft.Graph.Teams
$params = @{
Body = @{
Content = "Hello world"
}
}
New-MgChatMessage -ChatId $chatId -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
Este é um exemplo de resposta.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats('19%3A2da4c29f6d7041eca70b638b43d45437%40thread.v2')/messages/$entity",
"id": "1616991463150",
"replyToId": null,
"etag": "1616991463150",
"messageType": "message",
"createdDateTime": "2021-03-29T04:17:43.15Z",
"lastModifiedDateTime": "2021-03-29T04:17:43.15Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": null,
"summary": null,
"chatId": "19:2da4c29f6d7041eca70b638b43d45437@thread.v2",
"importance": "normal",
"locale": "en-us",
"webUrl": null,
"channelIdentity": null,
"policyViolation": null,
"eventDetail": null,
"from": {
"application": null,
"device": null,
"conversation": null,
"user": {
"id": "8ea0e38b-efb3-4757-924a-5f94061cf8c2",
"displayName": "Robin Kline",
"userIdentityType": "aadUser"
}
},
"body": {
"contentType": "text",
"content": "Hello World"
},
"attachments": [],
"mentions": [],
"reactions": []
}