Yandex Disk API 无法使用访问令牌 node.js 发出请求
Yandex Disk API can't make request with access token node.js
我成功生成了访问令牌,但现在无法使用它。遗憾的是,没有用于使用 API 的官方 yandex 节点库。有 2 个非官方的 npm 模块只能与服务器一起使用,但我希望它是本地主机。以这样的代码为例,在这种情况下,我想显示磁盘中的所有文件。当然,我为我的应用程序启用了所有范围
request.get('https://cloud-api.yandex.net/v1/disk/resources/files/', {
'auth': {
'bearer': 'xxxxxxxxxxxxxxxxxxx'
}
}, function(err,httpResponse,body){ /* ... */
if(err) {
console.log('err: ' + err)
}
console.log('body: ' + body)
});
另外,如果我会使用 https://cloud-api.yandex.net/v1/disk/resources/files?oauth_token=xxxxxxxxxxxxxx&oauth_client_id=xxxxxxxxxxxxxxxxxxx
或 https://cloud-api.yandex.net/v1/disk/resources/files?access_token=xxxxxxxxxxxxxx&client_id=xxxxxxxxxxxxxxxxxxx
在我的浏览器中我会得到
{"message":"????????????","description":"Unauthorized","error":"UnauthorizedError"}
有人知道我为什么会收到此消息的工作代码或想法?
现在我正在使用 yandex-disk 包。它对我来说已经足够了。
我的步数:
Yandex Oath 服务中的 - Register app。
之后我可以 get info 关于我的应用程序
- 实现Oath Token的获取方法by calling this.
- npm i yandex-disk
正在将代码插入 index.js
const YandexDisk = require('yandex-disk').YandexDisk;
const disk = new YandexDisk('YourOathTokenHere');
console.log('disk', disk);
disk.readdir('/', (err, response) => {
console.log('callback error', err);
console.log('callback response', response);
});
像那样包含授权header:
axios.get(encodeURI(`https://cloud-api.yandex.net:443/v1/disk/resources?path=${path}`), {
headers: {
'Authorization': `OAuth ${token}`
}
}).then((res) => {
console.log(res);
}).catch((err) => {
console.log(err);
});
我成功生成了访问令牌,但现在无法使用它。遗憾的是,没有用于使用 API 的官方 yandex 节点库。有 2 个非官方的 npm 模块只能与服务器一起使用,但我希望它是本地主机。以这样的代码为例,在这种情况下,我想显示磁盘中的所有文件。当然,我为我的应用程序启用了所有范围
request.get('https://cloud-api.yandex.net/v1/disk/resources/files/', {
'auth': {
'bearer': 'xxxxxxxxxxxxxxxxxxx'
}
}, function(err,httpResponse,body){ /* ... */
if(err) {
console.log('err: ' + err)
}
console.log('body: ' + body)
});
另外,如果我会使用 https://cloud-api.yandex.net/v1/disk/resources/files?oauth_token=xxxxxxxxxxxxxx&oauth_client_id=xxxxxxxxxxxxxxxxxxx
或 https://cloud-api.yandex.net/v1/disk/resources/files?access_token=xxxxxxxxxxxxxx&client_id=xxxxxxxxxxxxxxxxxxx
在我的浏览器中我会得到
{"message":"????????????","description":"Unauthorized","error":"UnauthorizedError"}
有人知道我为什么会收到此消息的工作代码或想法?
现在我正在使用 yandex-disk 包。它对我来说已经足够了。
我的步数:
-
Yandex Oath 服务中的
- Register app。 之后我可以 get info 关于我的应用程序
- 实现Oath Token的获取方法by calling this.
- npm i yandex-disk
正在将代码插入 index.js
const YandexDisk = require('yandex-disk').YandexDisk; const disk = new YandexDisk('YourOathTokenHere'); console.log('disk', disk); disk.readdir('/', (err, response) => { console.log('callback error', err); console.log('callback response', response); });
像那样包含授权header:
axios.get(encodeURI(`https://cloud-api.yandex.net:443/v1/disk/resources?path=${path}`), {
headers: {
'Authorization': `OAuth ${token}`
}
}).then((res) => {
console.log(res);
}).catch((err) => {
console.log(err);
});