javascript - 在 Node.js cli 中从 Dropbox 下载文件

标签 javascript node.js http https

我正在编写一个node.js cli 来学习HTTP 请求。我想下载一个文件并将其保存到本地文件夹。我遇到的问题是从 Dropbox 获取文件。我已经阅读他们的 API 一天左右了,但仍然不明白如何导航它。这是我的代码:

var https = require('https'),
    clc = require('cli-color'),
    options = {
        protocol: 'https:',
        hostname: 'www.dropbox.com',
        path: '/1/oauth2/authorize?client_id=<<my-id>>response_type=code',
        method: 'GET'
    },
    token;

var req = https.get(options, function (res) {
    if (res) {
        console.log(clc.green('success'));
    }

    res.on('data', function (data) {
        console.log(data);
    })
});

我正在遵循 Dropbox API 的 code OAuth 授权流程。当我运行 index.js 文件时,它返回的数据如下所示:

<Buffer 6f 6d 70 6f 6e 65 6e 74 73 5f 5f 69 6e 70 75 74 2e 54 65 78 74 49 6e 70 75 74 2c 20 5b 5d 29 3b 20 7d 28 6d 6f 64 75 6c 65 73 5f 5f 63 6c 65 61 6e 5f ... >

这是授权码吗?如果没有,我该如何获取并存储它?

最佳答案

data 是一个包含一些原始响应数据的Buffer。您可以连接每个数据直到响应完成。我应该指出,响应似乎是 javascript(如果您将缓冲区转换为字符串或以其他方式将十六进制字节转换为字符串),因此您可以尝试以下操作:

https.get(options, function(res) {
  var buf = '';
  res.on('data', function(data) {
    buf += data;
  }).on('end', function() {
    console.log('Response:');
    console.log(buf);
  });
});

此外,protocol: 'https:', 不是必需的,https 模块不会使用它。

关于javascript - 在 Node.js cli 中从 Dropbox 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34211710/

相关文章:

javascript - 向下滚动到特定部分时运行一些代码

node.js - 如何更改进程列表中的命令行?

node.js - 在现代 Node.js 中更新 Error 对象的性能损失

html - C 中的匹配正则表达式

angular - IE Edge - 访问控制允许 header 列表中不存在请求 header 授权

php - 包含或需要的文件是通过互联网传输还是仅在服务器上访问?

javascript - 页面加载时 jquery shake 不工作

javascript - 在闭包内声明的类与没有闭包的标准类

javascript - React.js 路由无法正常工作

javascript - 检索 token /创建费用 - Stripe