Error with any Dropbox API calls (node.js) — "Error: getaddrinfo EAI_AGAIN api.dropboxapi.com:443"

Error with any Dropbox API calls (node.js) — "Error: getaddrinfo EAI_AGAIN api.dropboxapi.com:443"

我正在尝试使用 Node.js 在我的服务器端设置 Dropbox。我已经使用官方文档编写了非常基本的代码来执行此操作,并使用从 dropbox.com 生成的访问令牌(直到我开始工作)。我使用的代码如下所示,是 http://dropbox.github.io/dropbox-sdk-js/index.html 处代码的变体。

'use strict';
var express = require('express');
var router = express.Router();
var Dropbox = require('dropbox');
router.post('/testDropbox', function(req, res) {
  console.log(req.body.dbxAccessToken);
  var dbx = new Dropbox({ accessToken: req.body.dbxAccessToken});
  console.log(dbx);
  dbx.filesListFolder({ path: ''})
    .then(function (response) {
      console.log(response);
      res.send(repsonse);
    })
    .catch(function (err) {
      console.log(err);
      res.send(err);
    })
  });

此捕获的错误显示为 "Error: getaddrinfo EAI_AGAIN api.dropboxapi.com:443"

我是 Node.js 的新手,所以我希望它是我在设置中可能遗漏的一些简单的东西。 另外,我在一个使用 NTLM 的代理服务器后面看到一个带有“443”的错误确实在我脑海中敲响了一些警钟。

EAI_AGAIN
    The name server returned a temporary failure indication.  Try again later.

您的 dns 有任何服务器端错误或问题。

@编辑: api.dropboxapi.com. 上存在 ssl 证书问题您可以通过在代码顶部添加 use 'use strict';:

来禁用 ssl 检查
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

您的代理可能正在阻止呼叫

如果您可以绕过代理,请试试看是否是代理导致了问题。 不幸的是,许多公司不允许绕过代理,因此您可能需要与负责此类事情的人交谈以尝试提供帮助。

我使用的解决方法

我现在使用连接到外部路由器的 WiFi 加密狗来绕过代理。如问题所示,我的代码按预期工作并且没有错误。