为什么我的GPX上传内容没有显示在Strava仪表板上?

问题描述

我正在开发一款移动应用程序,它能够记录室内骑行的GPS数据,就像运动员绕着赛车场转圈一样。根据旋转自行车提供的速度测量值(相对于任意GPS路线)来计算GPS点相对容易。

该应用程序正在使用Strava API以GPX格式(更精确地说,是gpx.gz)上传我记录的活动。该应用程序获取范围为OAuth的{​​{1}}令牌。 Upload POST返回201,并且上传也很快以200成功代码完成。但是,当我查看Strava用户仪表板后,没有任何活动出现。当我尝试通过Strava的Swagger API场景查看上述活动时,它会告诉我“找不到记录”。

"activity:write"

“在乙醚中迷失”的活动ID示例:4381670165、4381744693、4381960409。

我的问题是我没有任何有关可能出问题的调试信息。我收到了成功代码,但是这些活动从未真正实现过。此外,我无法通过其Swagger检查Upload的状态,因为那里的OAuth令牌仅具有读取权限。

由于我正在生成GPX文件,因此我通过手动上传来对其进行了测试。第一个作为虚拟骑(https://www.strava.com/activities/4094942758),第二个作为标记为室内骑行的骑(https://www.strava.com/activities/4094974788)。他们都不显示任何GPS数据。但是该文件包含数据。

那么,也许GPX文件有问题?这是两个:https://drive.google.com/drive/folders/1dkUvrLxW2r3tvQqvoqAkOB9998N9uLn7?usp=sharing

该应用程序是用Flutter编写的,并使用了我的curl -X GET "https://www.strava.com/api/v3/activities/4381960409" -H "accept: application/json" -H "authorization: Bearer zzzzzzzzzzzzzzzzzzzzzzzzzzzz" https://www.strava.com/api/v3/activities/4381960409 { "message": "Record Not Found","errors": [ { "resource": "Activity","field": "id","code": "invalid" } ] } strava_Flutter的派生词。

rw_tcx

正如我提到的,它成功完成了,上传POST,然后又返回200,这在strava_Flutter的胆量中。

解决方法

我犯了多个错误:

  1. 我正在处理多种文件格式(FIT,GPX,TCX),而我上载的实际文件是TCX。对于Strava开发人员而言,该系统能够很好地吞下并从TCX中提取信息,这一点倍感荣幸,没有返回错误代码。很好。
  2. GPS无法显示的主要原因:我交换了经纬度坐标。不幸的是,这也会造成混乱,特别是如果有人累了。 https://macwright.com/lonlat/经过一些更正后,GPS现在显示:https://www.strava.com/activities/4104607928

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...