ヤマムギ

growing hard days.

*

Rocket.ChatにAPIで投稿するテスト(Postman)

   


トレーニング期間中で一時利用するチャットが欲しいなあと思い、Rocket.Chatを試してます。

チャットといえばAPIということで、外部からの自動投稿を試してみます。

/api/v1/login

まず、チャンネルに投稿権限のあるユーザーを作って、そのユーザーのユーザー名とパスワードをパラメータでリクエストして、トークンとユーザーIDを取得する必要があります。

エンドポイントは、api/v1/loginでした。

Content-Typeをapplication/x-www-form-urlencodedにして実行しました。
userとpasswordは、ユーザー名とパスワードです。
メソッドはPOSTです。

レスポンスで、authTokenとuserIdが取得できました。

/api/v1/rooms.get

投稿パラメータに、rid(ルームID)が必要なので、APIで取得しました。
ルームというのは、一般的なチャットツールのチャンネルやチャネルと呼ばれるものと同じようです。

先ほど取得した、authTokenとuserIdをHeadersに設定しました。
レスポンスはルームの配列が返ってきて、そこにルームIDが含まれてました。

/api/v1/chat.sendMessage

いよいよ投稿です。

Headersには、rooms.getと同じ認証とフォーマットの情報を設定しました。
パラメータは rid(ルームID)と msg(メッセージ本文)でした。

改行はmsg内の \n で普通にできました。

投稿したトピックのスレッドを参照するツールとしても使えそうです。
もっと多機能な使い方ができそうですが。

ちなみに、Rocket.Chatのサーバーとして使っているEC2インスタンスで、/api/v1/login で取得したトークンを、そのEC2インスタンスから作成したAMIを元に起動したインスタンスでも、認証できました。
ちょっと調べてみると、トークンは無期限らしいです。
/api/v1/logout にリクエストするか、もう一度/api/v1/login リクエストするまでは有効らしいです。
これは本当かどうかわからないので、継続して使ってみます。


最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

i

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

GoogleフォームからAPI Gatewayで作成したREST APIにPOSTリクエストする

「API GatewayからLambdaを介さずにSNSトピックへ送信」の続きで …

再会の日 ~re:Union 2018 Osaka by JAWS-UG~

8/5は大阪でre:Unionでした。 「再会」と名うったこのイベントは、6月に …

AWS Organizationsからアカウントを新規作成してみて

AWS Organizationsでアカウントを新規作成することがありましたので …

東京リージョンの1つのAZ(apne1-az2)でt3.nanoスポットインスタンスが拒否されちゃいました

拒否されちゃいました ちょっとした検証をしようとしてて、t3.nanoのスポット …

前からできましたっけ??CloudWatch Logsの保持設定を複数まとめて設定

AWSの個人アカウントで要らなさそうなリソースの断捨離をしてます。 CloudW …

Amazon Data Lifecycle Manager(DLM)が東京リージョンで使えるようになったのでLambdaでAMI自動取得から乗り換えた

EBSのスナップショットを自動で作成してくれるAmazon Data Lifec …

Former2で既存リソースのCloudFormationテンプレート出力を試してみた

JAWS DAYS 2020の資料確認のお手伝いを少ししてまして、「ゼロからはじ …

AWS DeepLensセットアップの儀

AWS DeepLensのセットアップを開始します。 AWS DeepLensを …

Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(1)AWS編~

Pepperの機能を使えるところは使って、何かしたいなあと思ってまして。 目(カ …

AWS OrganizationsでAWSアカウントを25作りたいのでPythonで作った

AWSアカウントを25作る必要があったので、Lambda Python 3.7で …