POSTMANでリッチメニューの切り替え実装

画像7

curlなどで画像などのリッチメニューの情報をAPI経由でアップロードして、エイリアスIDをもらい、それを紐付ければ行けそう

curlで叩いてる部分の整理(レスポンスで、リッチメニューAのリッチメニューIDの取得

画像1

画像2

headerとbodyをドキュメントどおりに設定する。
実行すると下記のような内容が取得できる

{"richMenuId":"richmenu-43a2444d3ce74ab93539ed22b36be2a9"}

リッチメニューの画像をアップロードする

切り替えテスト用1

切り替えテスト用2

テスト用に2枚の画像を作成

https://api-data.line.me/v2/bot/richmenu/{richMenuId}/content

これに対してpostで画像をアップロードする

画像6

画像6

form-dataだとerrorが起きたのでbinaryで投げる。

2回投げると

{
   "message": "An image has already been uploaded to the richmenu"
}

という実行結果になるので、おそらく保存が成功している。

この状態でデフォルトメニューに設定してみる

画像8

画像9

設定できてる。

次に切り替え先を用意する

{
   "size": {
       "width": 2500,
       "height": 843
   },
   "selected": false,
   "name": "richmenu-a",
   "chatBarText": "Tap to open",
   "areas": [
       {
           "bounds": {
               "x": 0,
               "y": 0,
               "width": 1250,
               "height": 843
           },
           "action": {
               "type": "uri",
               "uri": "https://developers.line.biz/"
           }
       },
       {
           "bounds": {
               "x": 1251,
               "y": 0,
               "width": 1250,
               "height": 843
           },
           "action": {
               "type": "richmenuswitch",
               "richMenuAliasId": "richmenu-alias-a",
               "data": "richmenu-changed-to-a"
           }
       }
   ]
}

richmenuswitchのariasをb→aに変更すればいいっぽい

{
   "richMenuId": "richmenu-0a2492d6359dadc90d5235bec50c5b17"
}

返り値に対して、Aのときにした画像のアップロードをする

画像10

各エイリアスを紐付ける

画像11

aliasの設定をミスったときはここから

無事にメニューの切り替えができることを確認できた。

画像12

画像13

エイリアスは1,000個まで設定できるので、またLINEBOTの活用方法が広がった気がするが、そこまでリッチメニュー使うならLIFF使えばいいやんってなりそう。

この記事が気に入ったらサポートをしてみませんか?