NuxtJS Axios的Feedly API

时间:2019-11-26 02:13:23

标签: vue.js axios nuxt.js nuxt feedly

我正在尝试通过我的nuxtjs网站访问Feedly API。为此,我正在使用nuxt-axios模块。

首先,请注意Feedly API的说明:

  

我们提供了标准的OAuth 2.0身份验证模块,该模块为应用程序提供了OAuth访问令牌。大多数端点都希望有一个Authorization标头。

     

$ curl -H'授权:OAuth [您的开发者访问令牌]'https://cloud.feedly.com/v3/profile

我现在尝试将其集成到nuxtjs-axios中。

首先,我设置了nuxt-config.js文件:

export default {
  ...
  plugins: [{ src: `~/plugins/axios.js` }],
  modules: [
    '@nuxtjs/axios',
  ],
  axios: {
    credentials: true
  },

  env: {
    FEEDLY_ACCESS_TOKEN:
      [MY_FEEDLY_DEV_ACCESS_TOKEN]
  },
  ...
}

然后,我在axios.js文件夹中创建一个plugins插件(该文件已导入到我上面提到的nuxt-config.js文件中):

export default function({ $axios }) {
  $axios.setHeader('Authorization', `OAuth ${process.env.FEEDLY_ACCESS_TOKEN}`)
}

问题是我不知道应该在axios.js插件文件中放什么---即使那是正确的方法。我所做的实际上只是在黑暗中刺伤。

所以我的问题是,如何使用nuxtjs-axios模块将Feedly API实现到nuxtjs中?

谢谢。

2 个答案:

答案 0 :(得分:0)

使用拦截器:

// Add a request interceptor
axios.interceptors.request.use(function (config) {
    // Do something before request is sent
    return config;
  }, function (error) {
    // Do something with request error
    return Promise.reject(error);
  });

// Add a response interceptor
axios.interceptors.response.use(function (response) {
    // Any status code that lie within the range of 2xx cause this function to trigger
    // Do something with response data
    return response;
  }, function (error) {
    // Any status codes that falls outside the range of 2xx cause this function to trigger
    // Do something with response error
    return Promise.reject(error);
  });

https://github.com/axios/axios/blob/master/README.md#interceptors

答案 1 :(得分:0)

我对 nuxt-axios 文档的理解是 plugin.axios 文件用于添加“默认”行为(axios 助手:https://axios.nuxtjs.org/helpers/

我认为您的插件是正确的(如果令牌是您唯一需要添加到标题中的内容)。

启用 nuxt-axios 后,您现在可以使用 this.$axios.get/post

您是否尝试过运行组件:

this.$axios.get('**feedly_url_api_url_here**').then(response)....