AWS Lambda + API GatewayでHTTP Post メソッドを呼び出すときにエラー「Missing Authentication Token」~忘れていた初歩的なこと

本当に初歩的なことだが、Googleで検索して出てきたblogなどを参考にしながら、その通りに試していたらハマってしまった(´;ω;`)。
洗脳された感じ?www
ミスリーディングに勝手にハマった感じ?それとも、勝手にハマってミスリーディングだと思っているだけ?www
とにかく、ハマった。気がつけば、初心者的なハマり方で恥ずかしいのだが似ている人もいると思ったし、とあるblogでも「これはおかしい!」と断言している人がいたのでw。

さて、まずは結論(解決策)から。
◎結論(解決策)

API Gatewayで作成したメソッドはPOSTメソッドだったが、アクセスエンドポイントのURLをブラウザから叩くとGET通信となるので、POST通信としてあげる必要がある。

マジで、新人レベルのお話・・・。

◎ハマったこと
AWSのLambda+API Gatewayで作成したサンプルメソッドに対して、AWSがURLを割り当ててくれるのだが、それをブラウザから叩いても次のエラーが表示されてレスポンスが返ってこない。

{"message":"Missing Authentication Token"}

これは403エラーが返却される場合にAWSAPI Gatewayから返却されるエラーメッセージ。

API Gatewayを作成したあとに、AWSが提示してくれたURLを叩いているのに何故エラーとなるのか。。。

当然ながらググるわけだが、どれも「URLが間違っていた」、「URLが間違っている」というものばかり・・・。
「URLは間違っているわけがない!なぜならAPI Gatewayが提示したものだぞ!」と思いながらも、API Gatewayの「リソース」を使用してルートの1つに子階層(子リソース)を作成し、そこに「メソッド」(GET)を新しく作成して試してみた。

そうすると、うまくいく。。。あれなんで?GETとPOSTで違いがある・・・。考えること1分。。。

うはあああああああああああああああああああああああああああああああ。ブラウザのURL叩いてPOST通信呼び出そうとしているじゃん。うはあああああああああああああああああああああああああ。

はい、解決。POST通信してやりましょう
WEBアプリでformにmethod=POSTとかしてやるといいけど、作るの面倒!だからPowerShellInvoke-WebRequest使った。

Invoke-WebRequest -Method Post 'アクセスするURL'
もしくは
curl -Method Post 'アクセスするURL'

これで成功。

以上だけど、以下PowerShellでのcurl補足事項。

◎「curl -Method」って何???
curlって普通はPOST通信するとき次のようなコマンドじゃなかったかな?

curl -XPOST -d 'token=te9aera' https://xxx

これをWindowsPowerShellから実行するとエラー。'XPOST'に一致するパラメーターが見つかりませんと。
Windowscurlcurlじゃないのかと思い、PowerShellでPOST通信する方法を調べると、「Invoke-WebRequest -Method Post 」。

Invoke-WebRequest -Method Post https://xxx.test.ap-northeast-1.amazonaws.

これが正解じゃん?
じゃあ、windowscurlってなんだよ?
それで推測で、-XPOSTを-Method Postに置き換えてみると、それでも動いたというオチ・・・。