Respondido

Link da imagem é cortado pela API Telegram


Reputação 2

Estou construindo um fluxo para o bot coletar alguns dados e enviar por POST para uma API de BOT do Telegram. Uma pessoa receberá estes dados no Telegram para tratá-los e parte deste dado será uma foto que o BOT vai receber. Sei que o Blip não trafega imagem e sim o link da imagem, e é aí que vem o problema.


O problema que esbarrei é que o link da imagem contém o caractere &, e na API do Telegram quando recebe este caractere ele encerra o texto aí, ou seja, eu acabo não recebendo o link completo e por sua vez não consigo abrir a imagem. Um exemplo. Veja qual é o link original e veja como recebo no telegram:


ORIGINAL:

https://blipmediastore.blob.core.windows.net/secure-medias/Media_81932bad-ec16-4668-8639-91233bee4e76?sv=2019-07-07&st=2021-09-22T20%3A53%3A16Z&se=2021-09-22T21%3A23%3A16Z&sr=b&sp=r&sig=9tI%2FGfiKTCsmLcNMheFr6Il%2FrvjC%2FKvmfPhQ2bKjojw%3D&secure=true


RECEBIDO NO TELEGRAM:

https://blipmediastore.blob.core.windows.net/secure-medias/Media_81932bad-ec16-4668-8639-91233bee4e76?sv=2019-07-07


Eu entendo que foge um pouco do escopo do Blip, pois o Blip está fazendo o que é proposto, mas talvez alguém tenha passado por este problema ou talvez consiga sugerir uma solução.


Eu pensei se existe uma forma de isolar o texto para a API do Telegram não ler os caracteres, mas tudo que tentei ainda não resolveu. É isso. Valeu!

icon

Melhor resposta por Luiz_Topam 23 September 2021, 14:56

Veja o original

6 comentários

Reputação 6
Crachá

Olá @RAQUEL_GONCALVES_FER tudo bem?


Neste caso, você precisa pegar esta URL e mostrar pro usuário final?


Ou precisa trabalhar com ela no background?


E se você convertesse essa URL utilizando a API do Bitly? Aquele encurtador de links, eu mesmo já precisei utilizar algumas vezes:


https://dev.bitly.com/api-reference#createBitlink


Você precisará criar uma conta pra gerar sua chave de autenticação.


Espero que isso te ajude a encontrar alguma caminho.


Abraço!

Reputação 2

Oi Luiz!

Muito boa a sua dica, obrigada!! Ainda estou aprendendo sobre a área de desenvolvimento, e ai consegui avançar até certo ponto com essa dica.



  • Eu criei uma variável para armazenar a URL da imagem;

  • Envio ela para o Bitly. O retorno eu salvo numa nova variável;

  • Envio essa nova variável para a API do Telegram, mas a resposta do Bitly vem um código de erro (403) (é o que recebo no Telegram e no teste do Postman).

  • Eu acho que estou errando na montagem da estrutura que faz a requisição da API do Bitly;

  • A estrutura eu estou pegando a opção Node lá da API do Bitly e colocando dentro da estrutura da requisição http, no Builder.

  • Eu testei copiar e colar essa estrutura no Postman, mas lá também não funciona (retorna erro 403).

  • Certamente é falta de conhecimento e estou estudando para entender como eu tenho que fazer isto, mas não recusarei uma ajuda extra porque preciso resolver isso para montar um fluxo complexo até o dia 01 rs.

Reputação 7

Ei @RAQUEL_GONCALVES_FER! Alguma novidade sobre isso? Saiba que eu e o @Luiz_Topam estamos aqui, viu?

Reputação 2

Obrigadaa @Bia

Eu consegui resolver o problema 💪 com a ajuda do @Luiz_Topam ! . Agora estou na luta para saber como tratar a resposta que vem da API do Bitly para poder enviar ao telegram somente a parte que interessa, já que a API do Bitly retorna outros dados. Se tiverem alguma dica…rs Pq tá complicado conseguir montar este script.

Reputação 2

Consegui resolver!



  • Eu defini uma variável para a resposta da API

  • Usei a expressão variavel@link, onde “link” é o ID que eu queria separar, ou seja o link curto.

  • Dessa maneira ele separou somente o que eu queria.


Como eu defini a variável que separou o ID “link” da resposta da API.

image


Como eu escrevi para apresentar no chat da forma como eu quero:

image


Como o texto foi exibido

image


Estes dois tópicos me ajudaram a resolver:





Obrigada pela atenção de vocês @Bia @Luiz_Topam

Reputação 7

Ei @RAQUEL_GONCALVES_FER! Muito obrigada por compartilhar sua solução! Com certeza vai ajudar outros blippers da Blip Community!



Imagina… 😊

Comente