L'envoi de JSON Étale dans une requête HTTP POST
Je suis en train d'envoyer un message à l'aide de Le mou du chat.postMessage appel d'API. Je n'ai pas de problèmes d'encodage de mes messages de test au sein de HTTP GET, mais je vais essayer d'obtenir le même résultat avec JSON dans une requête HTTP POST.
J'ai testé avec les deux curl
et Facteur, mais Mou ne semble pas être reconnaissant à mon corps de la requête à tous.
{
"ok": false,
"error": "not_authed"
}
Dans curl
, ma demande est codé comme ceci:
curl -H "Content-type: application/json" -X POST -d '{"token":"my-token-here","channel":"#channel-name-or-id","text":"Text here.","username":"otherusername"}'
En Facteur, c'est le raw corps:
{
"token":"my-token-here",
"channel":"#channel-name-or-id",
"text":"Text here.",
"username":"otherusername"
}
Je n'ai pas fait quelque chose comme ça avant, donc je ne sais pas si je suis absent quelque chose. Merci!
Vous devez vous connecter pour publier un commentaire.
Je suis un peu en retard, mais j'espère que cela peut aider d'autres gens qui trébuchent sur cette question comme moi. J'ai juste été en contact avec la corde, et c'est ce qu'ils m'ont dit:
Donc, votre cURL ligne devrait ressembler à:
J'espère que cela aide! 🙂
Bon, après re-lecture de la documentation, j'ai trouvé ça:
Et la
curl
exemple. Avis de la Autorisation en-tête.Cela peut ne pas se qualifier pour la réponse complète, mais si le but est d'envoyer une pièce jointe à un message, vous pouvez envoyer un
urlencode
d structure JSON comme la valeur de laattachments
paramètre, comme ceci (divisée en plusieurs lignes pour plus de clarté):La valeur de
attachments
est codé URL[{"color":"good","fallback":"plain text","text":"colored text"}]
. Vous devriez être en mesure d'utiliser toutes attachement attributs décrit ici.De Mars 2018, Mou prend désormais en charge POST avec JSON corps
Extrémité:
https://slack.com/api/chat.postMessage
Les en-têtes de:
Authorization: Bearer xoxp-your-hardly-find-token-here
Corps:
{"channel":"CH9NN37","text":"something from me!"}
Avis de la Porteur dans le Autorisation en-tête.
Essayer de mettre chaque propriété dans son propre paramètre-d, comme suit:
Mou a été mis à jour, cela fonctionne à présent. Essayez cet exemple:
Voir https://api.slack.com/incoming-webhooks pour la documentation.
not_authed
signifie Pas de jeton d'authentification fourni.De jetons vous êtes de passage le long de dans le demande? Vous avez besoin de passer votre jeton OAuth, que vous pouvez obtenir à partir d' ici.
channel_not_found
à la place.) Je soupçonne que le Mou n'est tout simplement pas accepter de JSON dans un corps POST.Sur postier vous pouvez formuler votre requête comme ceci:
url(POST) : https://slack.com/api/chat.postMessage
Puis sous
Headers
section mettre ces deux en-têtes:clé(
Content-Type
) valeur(application/json
)clé(
Authorization
) valeur(YOUR-TOKEN-NAME
)Puis dans
Body
section dansraw
formulaire mettez vos données:Je l'ai fait en powershell et il fonctionne comme un charme.
Si vous êtes à l'aide de java et de printemps de cette dépendance, le tour est joué!! ici, vous allez