【问题标题】:Strava Webhook API is not sending all eventsStrava Webhook API 未发送所有事件
【发布时间】:2021-05-01 16:41:08
【问题描述】:

我在 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 寻求帮助,这完全没有帮助。

有谁知道出了什么问题?

【问题讨论】:

    标签: strava


    【解决方案1】:

    终于解决了我的问题并在这里为其他人编写解决方案。 可能没有这个问题的人在他们的编码语言中使用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 创建订阅并返回成功响应。这是一种误导,因为您的端点不会收到任何 webhook 事件

    【讨论】:

    • 我也有同样的问题。您能否解释一下您在 webhook 中的哪些地方使用访问和刷新令牌,因为 webhook 只是回调?
    • @VladimirBerezkin 已经很久了。创建 webhook 订阅不需要access_token。但是,如果您的 access_token 不是最新的,您需要使用 refresh_token 对其进行更新。您需要在来自https://www.strava.com/api/v3/oauth/token的json响应中检查expires_at纪元时间
    猜你喜欢
    • 1970-01-01
    • 2019-08-05
    • 2016-09-07
    • 2021-02-17
    • 1970-01-01
    • 2021-01-17
    • 2021-03-02
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多