Postmanによりメッセージ送信に必要なパラメータを確認しました。
Postmanは送信コードを自動生成してくれますので、どのようなものか確認したいと思います。
Contents
コード生成方法
例えばアクセストークンの取得では右端の</>を押下すると、色々な言語でのコードを見ることができます。
メッセージ送信に関して「Access Token 取得」と「Bot メッセージの送信 – ユーザー指定」のコード記述例はこれで分かります。
必要なパラメータ
送信元
CLIENT_ID , CLIENT_SECRET , SERVICE_ACCOUNT , PRIVATE_KEY
送信先
botId , userId
生成されたコード
Access Token 取得
1 2 3 4 5 6 7 8 9 10 11 12 |
var client = new RestClient("https://auth.worksmobile.com/oauth2/v2.0/token"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); request.AddHeader("Cookie", "WORKS_RE_LOC=jp2; WORKS_TE_LOC=jp2"); request.AddParameter("grant_type", "urn:ietf:params:oauth:grant-type:jwt-bearer"); request.AddParameter("assertion", "eyJh...JWT情報...省略..."); request.AddParameter("client_id", "****kLx5AdIyEUtYgNld"); request.AddParameter("client_secret", "****88sPo5"); request.AddParameter("scope", "bot"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); |
Bot メッセージの送信 – ユーザー指定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var client = new RestClient("https://www.worksapis.com/v1.0/bots/1418862/users/****送信先/messages"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Authorization", "Bearer jp2A...アクセストークン情報...省略..."); var body = @"{" + "\n" + @" ""content"": {" + "\n" + @" ""type"": ""text""," + "\n" + @" ""text"": ""Hello""" + "\n" + @" }" + "\n" + @"}"; request.AddParameter("application/json", body, ParameterType.RequestBody); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); |
AccessTokenを取得してBot メッセージの送信。本文はvar body = ~の部分です。C#によるメッセージ送信プログラムの流れとなります。AccessTokenを作成するにはJWTの生成が必要です。
また、オウム返しの為のプログラム(サーバ側PHP)もPostmanの自動生成を参考に作りました。