Strava Webhook API 未发送所有事件

Strava Webhook API is not sending all events

我在 Strava 上创建了一个应用程序。使用 read,activity:read,activity:read_all,read_all 权限在我的帐户上授权我的应用程序。

我不想轮询他们的 API 活动,因为他们为此推荐了 webhooks。

所以我创建了一个 webhook 订阅并通过回调验证它 url。

这是 Strava API 对我成功创建的 webhook 订阅的响应:

    [
        {
            "id": 179***,
            "resource_state": 2,
            "application_id": 59***,
            "callback_url": "http://*************.duckdns.org:8100/strava/webhook",
            "created_at": "2021-01-22T20:42:46Z",
            "updated_at": "2021-01-22T20:42:46Z"
        }
    ]

我的问题是我没有收到任何 activity 事件。

我收到的唯一事件是当我从我的帐户中删除我的应用程序时的撤销访问事件。

{
    'aspect_type': 'update', 
    'event_time': 1611350203, 
    'object_id': 6881533, 
    'object_type': 'athlete', 
    'owner_id': 6881533, 
    'subscription_id': 179***, 
    'updates': {'authorized': 'false'}
}

所以这表明我方是正确的,因为收到了事件。

我尝试向 Strava 发送电子邮件,但我得到的只是一个自动回复,告诉我使用 Strava API Google 群组寻求帮助,这根本没有帮助。

有人知道哪里出了问题吗?

终于解决了我的问题,并在这里为其他人写下解决方案。 可能没有这个问题的人在他们的编码语言中使用 Strava 的库,这些库在授权后已经获得 access_tokenrefresh_token

如果你像我一样自己处理Strava Webhook API,授权后,你必须获得你的access_tokenrefresh_token 如此处所述 https://developers.strava.com/docs/getting-started/#oauth

Strava Webhook API 文档对此没有任何说明,因为创建 webhook 订阅不需要 access_token。 Strava API 创建订阅并 returns 成功响应。这是误导性的,因为您的端点不会获得任何 webhook 事件