我正在尝试通过我的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中?
谢谢。
答案 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)....