WebHookでリクエストを送るには

◆PROCESSING 逆引きリファレンス

 カテゴリー:Web・通信

WebHookでリクエストを送るには

【概要】

最近はインターネットを活用した便利なサービスが登場していますが、そんなサービスの1つにWebHookがあります。

WebHookとは、http の仕組み(要するにWebページを表示する仕組み)を利用して、あなたのPCからネット上にある別のコンピュータに、いろいろなメッセージ(要求)を送りつける仕組みの事です。

わがんねーぞ!という人には、cybozu 社さんの

という記事が、とてもわかり易いと思います。

WebHookは上記で紹介させて頂いたcybozu 社さんの製品以外にも、LINEやSlack、Discordなどで使うことが可能です。

LINEについての説明は不要ですよね?。

SlackとDiscordはLINEによく似たチャットサービスで、Slackはビジネスシーンで、Discordはゲームなどのエンターテイメントシーンで良く利用されています。

今回はこのWebHookを使って、Discordにメッセージを送る例を紹介したいと思います。

WebHookでメッセージを送るためには、事前に

  • 送り先となるサービス窓口のURL
  • 送る電文形式

を調べておく必要があります。

今回はDiscordへ送信しますが、送り先となるサービスのURLと電文については、みなさんの環境や要求ごとに調べておいて下さい。

また、本記事のプログラムを作成するにあたっては

を参考とさせていただきました。ありがとうございます。

 

【詳細】

はじめに

Discordの場合は事前に、送り先となるサーバー(チャネル)を準備し、該当チャネルでWebHookのURLを取得しておく必要があります。


Discordの使い方については、本題から外れるため割愛します。

Discordの場合は、WebHookでJSON形式のメッセージを受け取ることが可能です。受け取り可能なJSONフォーマットについては、上記でも紹介したDISCORD PORTAL Documentation が参考となります。

 

HTTPコネクションを作成する

JSON形式の電文を送るためには、送信先となるURLへのHttpコネクションを作成します。

ポイントは、リクエストヘッダにContent-TypeとUser-Agentを含める事です。

送りつける電文は、Discordの仕様に則ったJSON形式のメッセージをシリアライズ化したものです。JSON形式のメッセージには、最低限 contentオブジェクトを含める必要があります。

また日本語のメッセージを送るなら、送信するバイトデータはUTF-8である事を指定しましょう。

上記は、HTTPリクエストを送る部分の抜粋です。

 

JSONオブジェクトを作成する

Discordの場合は送信するJSONメッセージに、最低限contentオブジェクトを含める必要があります。その他の代表的なパラメータには、usernameやavatar_urlがあります。

以下は代表的なパラメータでJSONを作成する例です。

PROCESSINGには、JSONオブジェクトを扱うのに便利なJSONObjectクラスがありますので、それを利用すると良いでしょう。

JSONObjectについては「JSONファイルを書き出すには」記事を参照して下さい。

 

【関連記事】

 


サンプルプログラム

Discordにメッセージを送信する例:

Discordにシンプルなメッセージを送信します。

<出力サンプル>


(画像URL:icon8 様)

 


PROCESSING逆引きリファレンス一覧 へ戻る

本ページで利用しているアイコン画像は、下記サイト様より拝借しております。各画像の著作権は、それぞれのサイト様および作者にあります。