我正在开发 PHP 项目,需要 strava webhook 来在 Strava 用户活动发生变化时更新他们的数据。 我在这里是 webhook 的官方文档 https://developers.strava.com/docs/webhooks/ 我遵循此代码https://gist.github.com/erikdmitchell/2e165c57e618de14e1b208fceba2ee65并使webhook调用webhook.php
这是我在 webhook.php 上的 PHP 代码,用于接收来自 strava 的呼叫
$html = "";
$html = $html . '<hr/>' . json_encode($_GET) . '<hr/>' . json_encode($_POST) . '<hr/>' . json_encode($_REQUEST);
以及我所有从 Strava 接听电话的输出
<hr/>[]<hr/>[]<hr/>[]
我的问题是我尝试了很多方法,但无法从发送给我的 strava webhook 获取事件数据。当 Strava 调用我的 webhook.php 文件时,我没有看到来自 $_GET、$_POST 或 $_REQUEST 的更多信息
至少我需要哪个用户 ID 刚刚在 Strava 上添加/删除/更新他们的活动
欢迎您提出任何解决方案... 非常感谢
在 Strava 文档 的底部,它们展示了如何使用curl 将测试事件发送到您自己的 webhook。他们展示了使用
Content-Type: application/json
发布 JSON 正文。这意味着它不是 application/x-www-form-urlencoded
,不存在 $_POST
,你需要使用原始身体。
为此,请尝试以下操作:
$payload = file_get_contents('php://input');
$json = json_decode($payload, true);