繁体   English   中英

针对OAuth2令牌的Twitch POST请求

[英]Twitch POST request for OAuth2 token

我正在尝试通过Twitch API的POST请求获取访问令牌,但是我的http.request从未执行(我不认为),而且我不知道为什么。

var express               = require('express');
var path                  = require('path');
var bodyParser            = require('body-parser');
var fs                    = require('fs');
var https                 = require('https');
var querystring           = require('querystring');
var authInfo              = require('./authInfo.json');

app.get('/twitch/auth', function(req, res) {
  res.send("auth page");

  var data = querystring.stringify({
    client_id: authInfo.clientID,
    client_secret: authInfo.clientSecret,
    grant_type: "authorization_code",
    redirect_uri: authInfo.redirectURI,
    code: req.query.code,
    state: 12345
  });

  var options = {
    host: 'api.twitch.tv',
    port: 443,
    path: '/kraken/oauth2/token',
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
      'Content-Length': Buffer.byteLength(data)
    }
  }

  var req = https.request(options, (res) => {
    console.log('statusCode:', res.statusCode);
    console.log('headers:', res.headers);

    res.on('data', (d) => {
      console.log(d);
    });
  });

  req.on('error', (e) => {
    console.log(e);
  });

  req.end();

});

app.listen(port, function() {
  console.log('Point browser to: http://localhost:' + port);
});

PS:为简洁起见,我省略了一些代码,但我成功获取了授权代码。

我解决了我的问题。 我不是在向身体写data

...
  req.write(data);
  req.end();

});
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM