0

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

  1. 我正在使用来自 Upwork API Reference的Authorize 和 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. 我填写正确consumerKeyconsumerSecret并且callbackUrl

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

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

因此,整个流程似乎几乎可以正常工作(除了第 4 步重定向到 404 页面)


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

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

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

4

2 回答 2

0

首先,请检查您的密钥设置中指定的项目类型 - 您可能希望拥有Web project. 其次,我会验证使用的callbackURL。

最后,(如果您使用 OAuth1 流程)验证者的寿命有限,大约 10 分钟。此外,它不能重复使用。

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

于 2021-06-10T08:47:01.617 回答
0

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

hello.com- 无效的回调 URL

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

希望这会有所帮助

于 2021-07-06T13:43:32.860 回答