Postman使ってLINEリッチメニュー作成する

<p>ここでPOSTMANを使ってLINEリッチメニューを作成する方法を見てみましょう:relaxed:</p>

<p>リッチメニューというのはLINE公式アカウントのトーク画面に表示される、カスタマイズ可能なメニューです。</p>

<p>リッチメニューを表示するには、リッチメニューの画像をアップロードし、さらにデフォルトのリッチメニューを設定するかリッチメニューをユーザーとリンクする必要があります。</p>

<p>先に、以下のリンクをクリックしてPOSTMANをダウンロードしてインストールしましょう<br>
<a>https://www.postman.com/downloads/</a></p>

<h1><b>リッチメニュー作成</b></h1>
1. <b>POSTMAN</b>を開いて新しいタブを開きます。
2. 送信方法を<b>POST</b>にします。
3. URL欄にLINEリッチメニュー作成するエンドポイントを入力してください。<br>https://api.line.me/v2/bot/richmenu
4. POSTMANのAutherizationタブを開いてTypeからBearer Tokenを選択してください、
5. 右側のToken欄に自分のチャネルのアクセストークンを入れてください。
   ![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1037342/12a61e43-a0df-c6e7-11ab-a61386493c3a.png)
6.Headersタブを開いてKeyはContent-TypeとValueはapplication/jsonに設定してください。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1037342/87338e38-9fc7-6239-318b-4c3f70ff1397.png)
7.次はBodyタブを開いてオプションからrawを選択してテキストボックスに自分のリッチメニューの設定を入力します。(<a>https://developers.line.biz/ja/reference/messaging-api/#create-rich-menu</a>参考にしてください)

例：
<pre>
{
  "size": {
    "width": 2500,
    "height": 1686
  },
  "selected": false,
  "name": "Nice richmenu",
  "chatBarText": "Tap to open",
  "areas": [
    {
      "bounds": {
        "x": 0,
        "y": 0,
        "width": 2500,
        "height": 1686
      },
      "action": {
        "type": "postback",
        "data": "action=buy&itemid=123"
      }
    }
  ]
}
</pre>
![3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1037342/2088c99d-d028-0168-3731-2d4c9c737e12.jpeg)
8.これで設定は完了なので送信ボタンを押します。
9.レスポンスは以下の通りであれば完成です。:relaxed:
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1037342/a3083730-1589-9896-ecf3-ba271bbd4e86.png)

<h1><b>リッチメニューの画像をアップロードする</b></h1>
1.作成と同じく以下の情報でPOSTを作成します。
送信方法-POST
エンドポイント - https://api-data.line.me/v2/bot/richmenu/{richMenuId}/content
{richMenuId}は前送られてきたレスポンスのrichMenuIdです。
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1037342/a8d492c2-8463-2e2b-a4b4-e0d3c70b4f4c.png)
Content-Typeはimage/jpeg、image/pngのように自分の画像の拡張子で設定してください。(image/xxxx)
Bodyタブからbinaryを選択してファイルから自分の画像を選択してください。
![6.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1037342/9117dec9-0af6-a883-69f2-cf159e22454a.jpeg)
設定終了なので送信ボタンを押してください。
レスポンスのステータスは200 okとbodyは空であればokです。
![7.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1037342/5c3f4765-3659-74d6-c8f8-79afea082555.jpeg)
<h3><b>補足</b></h3>

<b>デフォルトのリッチメニューを設定する</b>
送信方法：POST
エンドピント：https://api.line.me/v2/bot/user/all/richmenu/{richMenuId}
Authorization：Bearer {channel access token}

<b>リッチメニューを削除する</b>
送信方法：DELETE
エンドピント：https://api.line.me/v2/bot/richmenu/{richMenuId}
Authorization：Bearer {channel access token}

<b>デフォルトのリッチメニューのIDを取得する</b>
送信方法：GET
エンドピント：https://api.line.me/v2/bot/user/all/richmenu
Authorization：Bearer {channel access token}

<b>リッチメニューの画像をダウンロードする</b>
送信方法：GET
エンドピント：https://api-data.line.me/v2/bot/richmenu/{richMenuId}/content
Authorization：Bearer {channel access token}

<b>リッチメニューの配列を取得する</b>
送信方法：GET
エンドピント：https://api.line.me/v2/bot/richmenu/list
Authorization：Bearer {channel access token}

<b>デフォルトのリッチメニューを解除する</b>
送信方法：DELETE
エンドピント：https://api.line.me/v2/bot/user/all/richmenu
Authorization：Bearer {channel access token}

<b>リッチメニューとユーザーをリンクする</b>
送信方法：POST
エンドピント：https://api.line.me/v2/bot/user/{userId}/richmenu/{richMenuId}
Authorization：Bearer {channel access token}

<b>ユーザーのリッチメニューのIDを取得する</b>
送信方法：GET
エンドピント：https://api.line.me/v2/bot/user/{userId}/richmenu
Authorization：Bearer {channel access token}

<b>リッチメニューとユーザーのリンクを解除する</b>
送信方法：DELETE
エンドピント：https://api.line.me/v2/bot/user/{userId}/richmenu
Authorization：Bearer {channel access token}

<b>リッチメニューと複数のユーザーをリンクする</b>
送信方法：POST
エンドピント：https://api.line.me/v2/bot/richmenu/bulk/link
Authorization：Bearer {channel access token}
Content-Type：application/json
body：
<pre>
'{
  "richMenuId":"{richMenuId}",
  "userIds":["{userId1}","{userId2}"]
}'
</pre>

<b>複数のユーザーのリッチメニューのリンクを解除する</b>
送信方法：POST
エンドピント：https://api.line.me/v2/bot/richmenu/bulk/unlink
Authorization：Bearer {channel access token}
Content-Type：application/json
body：
<pre>
'{
  "userIds":["{userId1}","{userId2}"]
}'
</pre>