3

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

我不想轮询他们的 API 以获取活动,因为他们为此推荐了 webhook。

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

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

    [
        {
            "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"
        }
    ]

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

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

{
    '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 Groups 寻求帮助,这根本没有帮助。

有谁知道出了什么问题?

4

1 回答 1

3

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

如果您像我一样自己处理 Strava Webhook API,则在授权后,您必须获取您的access_token并且refresh_token如此处所述https://developers.strava.com/docs/getting-started/#oauth

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

于 2021-03-23T17:34:38.663 回答