在我第二次尝试获取验证者后,Upwork api 重定向到 'Unauthorized' 页面

Upwork api redirects to the 'Unauthorized' page after my second attempt to get verifier

我在获取 API customer_key 和客户机密的验证程序时遇到问题。

  1. 我正在使用来自 Upwork API 的 Authorize and get verifier 部分的代码参考:
var UpworkApi = require('upwork-api')
  , rl = require('readline');

var config = {
  'consumerKey' : 'my_consumer_key',
  'consumerSecret' : 'my_secret_key'
};

var api = new UpworkApi(config);
var callbackUrl = 'http://my-callback.com';

api.getAuthorizationUrl(callbackUrl, function(error, url, requestToken, requestTokenSecret) {
  if (error) throw new Error('can not get authorization url, error: ' + error);

  // Authorize application
  var i = rl.createInterface(process.stdin, process.stdout);
  i.question('Please, visit an url ' + url + ' and enter a verifier: ', function(verifier) {
    i.close();
    process.stdin.destroy();
  });
});
  1. 我填对了 consumerKeyconsumerSecretcallbackUrl

  2. 我是 运行 这个应用程序,它似乎运行良好。我在终端中收到以下消息: Please, visit an URL https://www.upwork.com/services/api/auth?oauth_callback= http://my-callback.com&oauth_token=999888777 (在此示例中,我正在更改 URL 中的回调和 OAuth 令牌,以不公开我们的令牌和数据)

  3. 我在upwork网站上打开URL授权申请。 Upwork 在授权后将我重定向到 404 页面,这很奇怪,但我要查找的验证码在 URL 中,所以我可以复制它: https://i.stack.imgur.com/3o91l.png

因此,整个流程似乎运行良好(除了在第 4 步重定向到 404 页面)


当我尝试再次通过此流程时出现问题,比如说,我没有从第一次保存验证程序。

当我再次这样做时,upwork 将我重定向到未经授权的页面,如下所示:https://i.stack.imgur.com/jMlSj.png

谁能澄清我是否做错了什么?

首先,请检查您的密钥设置中指定的项目类型 - 您可能想要 Web project。其次,我会验证使用过的 callback URL.

最后,(如果你使用OAuth1流程)一个verifier是有生命限制的,大约10分钟。另外,不能重复使用。

如果这没有帮助,请联系支持团队并提供所有详细信息,包括产生 404 的 URL。

所以我联系了支持人员,他们帮助了我。 就我而言,问题是由回调 URL 中的错误引起的,回调 URLs.

必须定义协议

hello.com - 回调无效 URL

http://hello.com - 是一个有效的回调 URL

希望这会有所帮助