質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1333閲覧

WebhookのURLが機能しない

tikuan

総合スコア0

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/12/09 13:03

編集2021/12/09 16:39

前提・実現したいこと

LINE APIのWebhookURLを設定して、検証した際に500エラーが返ってきてしまいます。
見てみるとGETが対応してないからPOSTにしてください。と書いてありますが、RouteはすべてPOSTにしています。
しょうもないミスだとは思いますが、回答していただけると嬉しいです。
よろしくお願いいたします。

発生している問題・エラーメッセージ

The GET method is not supported for this route. Supported methods: POST.

該当のソースコード

php

1<?php 2 3use Illuminate\Http\Request; 4 5 6// LINE メッセージ受信 7Route::post('/api/line/webhook', 'LineMessengerController@webhook'); 8 9// LINE メッセージ送信用 10Route::post('/line/message', 'LineMessengerController@message'); 11

試したこと

参考にさせていただいた記事では送信用のメソッドがGETだったのでPOSTに変えてみました。

補足情報(FW/ツールのバージョンなど)

webhookの検証では200が返るようになりましたが、実際そのURLに行ってみると画像のような画面のままなのですが、このままでも大丈夫でしょうか。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

実際そのURLに行ってみると画像のような画面のままなのですが、このままでも大丈夫でしょうか。

どのようにテストされたのでしょうか?

Web ブラウザのアドレス欄に URL を入力して、アクセスした場合は、GET でのアクセスになります。
GET でアクセスした場合のルートを定義していないのであれば、エラーになるのは正常と思います。

大丈夫かどうかは仕様や状況によりますが、エラーが表示されるのは利用者を不安にさせると思いますので、できれば GET でエラーにならないように何かのページを表示するようなルートを定義しておく方が良いと思います。

なお、POST リクエストのテストをする場合は、POSTMAN 等の Post リクエストを送信できるツールを使用します。

投稿2021/12/09 23:23

CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tikuan

2021/12/10 13:34

返信遅れてすみません。 ご回答ありがとうございます。 Routeでのタイプミスを修正したら200が返ってくるようになりました。 利用者はこのURLに行くことは多分ないのでとりあえずこのままにしようと思います。 今のところreturn'ok';なら200で返ってきますが、値を取ろうとすると500エラーが返ってきてしまうので教えていただいたツールを使ってテストしてみようと思います。 無知をさらけ出してしまいすみません。 ご教授ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問