Help us understand the problem. What is going on with this article?

Node.js で Github のOAuth アクセストークンを取得する

More than 5 years have passed since last update.

殴り書きで失礼。。。

コンソールから GithubAPI を叩くための第一歩。
Basic認証でアクセストークンを取得する。

この方法だとアプリ登録の必要がないのと、コマンドだけで済むので楽。

github.js
#!/usr/local/bin/node
var https        = require('https');

var user     = 'USER_NAME',
    password = 'PASSWORD';

var options = {
    host: 'api.github.com',
    port: 443,
    method: 'POST',
    path: '/authorizations',
    auth: user + ':' + password
};

var params = {
    scopes: ['public_repo', 'user', 'gist']
};

var request = https.request(options);

request.on('response', function (response) {
    response.setEncoding('utf8');

    var body = "";
    response.on('data', function (chunk) {
        body += chunk;
    });
    response.on('end', function () {
        console.log(JSON.parse(body));
    });
});

request.on('error', function (error) {
    console.log('problem with request: ', error);
    process.exit();
});

var body = JSON.stringify(params);

request.setHeader('Content-Length', Buffer.byteLength(body));
request.write(body + '\n');
request.end();

実行するとマニュアルの通りのレスポンスが取得できる。

参考)

@todo

  • コードのリファクタリング、構造化
  • トークンを使ってAPIをいろいろ叩く
  • ユーザーID, パスワードをパラメータで受け取れるようにする
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away