javascript - 如何使用 React 从 strava api 下载 gpx 文件
问题描述
我几乎完成了我的小应用程序,但需要能够让用户单击按钮以下载文件路径。
查看Strava API Docs有一个您可以调用的端点:
https://www.strava.com/api/v3/routes/{id}/export_gpx
我已经调用了这个,但它似乎只是返回我理解的 gpx 文件的响应数据。但是我怎样才能将该响应下载为文件?
这就是我调用 Strava API 的方式
const init = async () => {
try {
const firstResponse = await axios({
method: 'POST',
url: 'https://www.strava.com/oauth/token',
params: {
client_id: process.env.GATSBY_STRAVA_CLIENT_ID,
client_secret: process.env.GATSBY_STRAVA_CLIENT_SECRET,
grant_type: 'refresh_token',
refresh_token: process.env.GATSBY_STRAVA_REFRESH_TOKEN,
},
});
const token = firstResponse.data.access_token;
const secondResponse = await axios({
method: 'GET',
url: `https://www.strava.com/api/v3/routes/${props.data.contentfulRoutes.slug}`,
headers: {
Authorization: `Bearer ${token}`,
},
});
setRoute(secondResponse.data);
setAthlete(secondResponse.data.athlete);
} catch (e) {
console.log(e);
}
};
init();
}, []);
我正在考虑添加第三条链来调用/export_gpx
端点。然后我想要一个按钮来触发该功能或单击时调用端点。
解决方案
推荐阅读
- android-studio - getSupportActionBar().setElevation(0); - 科特林?- 从动作栏中删除阴影
- java - 如何在工厂方法中初始化具有多个参数的构造函数的类
- reactjs - 用于动态反应上下文的 TypeScript 类型
- augmented-reality - 为什么增强图像 Sceneform SDK 示例不适用于运行时构建的 AR 对象?
- java - 如何使用自动生成的 netbeans JFrame 表单?
- php - 多个数据库查询抑制 PHP SQL
- r - 上传网站时未构建 github 页面
- node.js - 安装(运行)外部 npm 模块有哪些风险?我们可以限制风险吗?
- json - .NET Core Web API 中的自定义 Json 格式化程序
- reactjs - 如何解决:“找不到规则'@typescript-eslint/consistent-type-assertions'的定义”