我正在尝试使用 Strava 事件,所以我必须注册一个 webhook。一切都好。
1)我发出一个 post 请求以启动注册 webhook 的过程。
curl -X POST https://api.strava.com/api/v3/push_subscriptions \
-F client_id=MY_APP_ID \
-F client_secret=MY_CLIENT_SECRET \
-F 'callback_url=MY_DOMAIN/webhook/strava' \
-F 'verify_token=MY_VERIFY_TOKEN'
2)我有我的路线设置
Route::match(['get', 'post'], '/webhook/strava', 'StravaController@webhook');
3)我的控制器返回有效的 json 响应,代码为 200和所有需要的数据
public function webhook(Request $request)
{
Log::info($request->input('hub.challenge'));
return response()->json([
'hub.challenge' => $request->input('hub.challenge')
], 200);
}
但是当我发帖时它会返回:
{"message":"Bad Request","errors":[{"resource":"PushSubscription","field":"challenge response","code":"challenge response malformed"}]}
详细信息:我注意到日志语句没有被触发。所以也许它说格式不正确,因为它正在返回{"hub.challenge": null}。但我认为在那种情况下,错误信息会有所不同。
感谢你们!