LINE WORKSで画像を使用したいとき(プロフィール写真やBotのリッチメニューを設定するときなど)があると思います。
APIから操作する場合にどうしたら良いんだろう。。。と思いまして、今日恥かしい思いをしたので忘れないように手順を残しておこうと思います。
悩んだポイント
たまたまLINE WORKSのBotのリッチメニューについて調べていました。(Bot作成する技術なんかない癖に)
冒頭に以下のような記述がありました。
Botのリッチメニューを登録する。
Botのリッチメニューを使用するためには、追加で以下の手順が必要。リッチメニュー画像のアップロード
アップロードした画像をリッチメニュー画像に設定
既定リッチメニュー、またはユーザー別リッチメニューを設定
なるほど、画像をアップロードして、設定する必要があるんだなと。
じゃぁそれはどうやるんだい?って話です。
アップロードについてはドキュメントがありました。
コンテンツアップロードというAPIですが、ファイル名をBodyに書いてリクエストするだけなのか!と思い早速実行です。
はい。実行はできました。
uploadUrlとfileIdというものがresponseされましたね。
で、その後なんですけど、このドキュメントの冒頭に以下の記載があります。
Botで使用するファイルや画像をアップロードするためのアップロードURLとファイルIDを生成する。
生成されたURLにファイルをアップロードする。
なるほどね、アップロードURLにファイルをアップロードね!
ふーん。。。。。。で!?
いやいや、待ってくれと。
私が知りたいのはその方法なんですよと。
もうやっぱり自分には無理なんじゃないかなと諦めましたが、知見のある方が教えてくれました。
postmanを使用したアップロード方法
まずpostmanで以下のように入力・設定します。
- メソッドはPOST
- アップロードURLをそのまま貼り付け
- form-dataを選択
- KEYに「resourceName」と入力
VALUEは「値」ってことだと思うので、ここにファイル名を入力するの?とか思ったんです!
赤枠のあたりにマウスオーバーすると、「TEXT」という表示が出てきます。
これをクリックすると.....
「File」という選択肢が出てきます!
こちらを選択して....
「Select Files」をクリック!
あとは画像を選択して、Sendすれば完了です!!!!!!
私は「TEXT」のままで何度もファイル名を入力してはエラーになる、何度殴っても壊れない壁をひたすら殴り続けるというファミコンのバグったNPCみたいな行動をとっていました。
某文豪は「恥の多い生涯をおくってきました」と言っていましたが、私はその真っ最中です。。。。(;_;)