Enviar mensagens no chat Teams, com a Api Graph

Etec | Aldy Salvino 0 Pontos de reputação
2024-10-23T17:20:39.92+00:00

Não consigo enviar mensagem no chat, com a API do Microsoft Graph "A mensagem POST é permitida no contexto somente do aplicativo apenas para fins de importação",

Este é o meu código

Copiar

var chatMessage = new ChatMessage
                {
                    Body = new ItemBody
                    {
                        Content = "Hello world"
                    }
                };
                
await graphServiceClient.Chats["19:35fa8078-de1a-4ec1-bb8f-85f1d4e14fa9_8848a24c-c679-415c-ac14-7f9dde86d6ec@unq.gbl.spaces"].Messages
                    .Request()
                    .AddAsync(chatMessage);

Quando eu faço isso, recebo este erro

Não autorizado\r\nMensagem: A mensagem POST é permitida no contexto somente do aplicativo apenas para fins de importação. Consulte https://docs.microsoft.com/microsoftteams/platform/graph-api/import-messages/import-external-messages-to-teams para obter mais detalhes.

Microsoft Teams
Microsoft Teams
Um workspace personalizável e baseado em chat da Microsoft.
40 perguntas
0 comentários Sem comentários
{count} votos

1 resposta

Classificar por: Mais útil
  1. Jonathan Pereira Castillo 7,930 Pontos de reputação Fornecedor da Microsoft
    2024-10-24T17:03:31.7166667+00:00

    Oi Etec | Aldy Salvino!

    Bem-vindo ao Microsoft Q&A!

    Parece que você está tentando enviar uma mensagem no chat do Teams usando a API do Microsoft Graph, mas está encontrando um erro de autorização. Esse erro ocorre porque a API POST para mensagens de chat é permitida apenas para fins de importação no contexto do aplicativo.

    Aqui estão algumas sugestões para resolver esse problema:

    Permissões Adequadas: Certifique-se de que sua aplicação tem as permissões corretas. Você precisa das permissões ChatMessage.Send para enviar mensagens em um chat. Veja mais detalhes aqui.

    Contexto do Aplicativo: A API que você está usando é restrita para importação de mensagens. Para enviar mensagens normais, você deve usar o contexto de usuário. Isso significa que você precisa autenticar como um usuário e não como um aplicativo. Veja mais informações aqui.

    Exemplo de Código: Aqui está um exemplo de como enviar uma mensagem em um chat com o contexto de usuário:

    var chatMessage = new ChatMessage
    {
        Body = new ItemBody
        {
            Content = "Hello world"
        }
    };
    
    await graphServiceClient.Me.Chats["19:35fa8078-de1a-4ec1-bb8f-85f1d4e14fa9_8848a24c-c679-415c-ac14-7f9dde86d6ec@unq.gbl.spaces"].Messages
        .Request()
        .AddAsync(chatMessage);
    

    Documentação: Consulte a documentação oficial para mais detalhes sobre como enviar mensagens no chat do Teams usando a API do Microsoft Graph aqui.

    Espero que essas dicas ajudem a resolver o problema! Se precisar de mais assistência, estou à disposição.

    Saudações

    Jonathan.

    -----------

    Sua opinião é muito importante para nós! Se esta resposta resolveu sua consulta, por favor clique em ‘YES‘. Isso nos ajuda a melhorar continuamente a qualidade e relevância de nossas soluções. Obrigado pela sua colaboração!

    0 comentários Sem comentários

Sua resposta

As respostas podem ser marcadas como Respostas Aceitas pelo autor da pergunta, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.