首页 > 解决方案 > 如何使用 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端点。然后我想要一个按钮来触发该功能或单击时调用端点。

标签: javascriptreactjs

解决方案


推荐阅读