LINE botのリッチメニューをAPI経由でいろいろ設定していたら、公式ページにこんなことが↓
1つのLINE公式アカウントに対して、Messaging APIを使って最大1000件のリッチメニューを作成できますが、この上限を超過すると、ステータスコード400 Bad Requestが返されます。その場合は、新しいリッチメニューを作成する前にリッチメニューを削除する必要があります。 リッチメニューを使う
一括で削除できたり、既存のリッチメニューを更新するAPIはみたところなかったので一括削除スクリプトをつくりました。(需要ないと思うけど一応公開)
# 変数の設定
ACCESS_TOKEN=...
# 一覧取得
existsMenus=$(
curl -v -X GET https://api.line.me/v2/bot/richmenu/list \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
)
existsMenus=$(echo $existsMenus | jq ".richmenus")
existsMenusLen=$(echo $existsMenus | jq length)
# 1つずつ削除する
for i in $( seq 0 $(($existsMenusLen - 1)) ); do
menu=$(echo $existsMenus | jq .[$i])
menuId=$(echo $menu | jq ".richMenuId")
menuId=$(echo ${menuId} | sed 's/"//g')
curl -v -X DELETE https://api.line.me/v2/bot/richmenu/${menuId} \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
done
ちなみにJSONをあつかうのでjq
コマンドが使える必要があります。(Macならbrew install jq
)
おしりおわり