【问题标题】:OAuth2: how to get token?OAuth2:如何获取令牌?
【发布时间】:2018-10-12 22:54:54
【问题描述】:

我收到了这个错误

RequestError:错误:参数错误,options.body

发送请求后。我在 API 中看到了这一点:

grant_type = partner
partner_id = partner id
partner_secret = partner secret

这是源代码:

getToken() {
  let data = {
    grant_type: 'partner',
    partner_id: config.id,
    partner_secret: config.secret,
  };
  const url = config.url;
  return this.postRequest(url, data)
    .then((result) => {
      console.log(result);
      if (result) {
        console.log(result);
        return result;
      }
    })
    .catch((err) => console.log(err));
}

postRequest(url, data) {
  const options = {
    uri: url,
    method: 'POST',
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    body: data,
  };
  return request(options);
}

此代码应返回如下标记:

{
   "access_token":"2YotnFZFEjr1zCsicMWpAA",
   "token_type":"bearer",
   "expires_in":1119,
   "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA" 
}

代码有什么问题?

【问题讨论】:

    标签: javascript node.js oauth-2.0 request-promise


    【解决方案1】:

    数据应该是一个查询字符串!

      getToken() {
        let data = {
          grant_type: 'partner',
          partner_id: 'config.id',
          partner_secret: 'config.secret',
        };
        data = querystring.stringify(data);
        const url = config.url;
        return this.postRequest(url, data)
          .then((result) => {
          if (result) {
            console.log(result);
            return result;
          }
          })
          .catch((err) => console.log(err));
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-27
      • 2020-01-22
      • 2021-11-10
      • 2012-07-05
      • 2016-10-13
      • 2017-04-04
      • 2012-06-29
      • 2015-04-09
      相关资源
      最近更新 更多