kgrss's blog

プログラムを中心にいろいろなことを記事にしていきます!

すーぱーざっくり、githubのAPIを使ってみたよ!

こんばんは、こがらしですー。

最近はなんだか後先を考えずに色々やっていて、何がしたいのかまったくわかってないです笑
しばらくは自分の仕事がわんさかあるはずなのに、うまく進められていなかったりしてます。。


そんなことはまあどうでもよろしいのですが、今回は皆さんよく知って居るであろうgithubのAPIを使ってみようっていう回です。
とは言っても、今回試したのは自分のWEBページからgithub上のリポジトリ情報を取得して表示するまでです。

まずは始めに利用するためにアプリ利用登録が必要です。
設定画面のところにAppicatonsってのがあってそこからできます。

登録するとclient_keyとclient_secretが発行されます。
githubのAPIはOAuth2.0による認証を利用するので、Twitterなどに比べたら楽に利用することができます。
また、github develoerのサイト上で手順が丁寧に書いてあるので、(英語ですが)そちらを読み進めながらできると思います。

まずは、認証に必要なcodeを取得します。
https://github.com/login/oauth/authorize?client_id=xxxxxx

上記の感じで登録時のclient_idを指定してアクセスすればリダイレクトされて、
URLの部分に?code=yyyyyyyとなっているので取得できると思います。
また、今回はリポジトリ情報へのアクセスのパーミッションも要求するので、
さらにscope=public_repoを設定します。

次はaccess_tokenの取得ですね。
先ほどのコールバック先のページにでcodeを取得し、下記のURLにPOSTでリクエストを投げます。
https://github.com/login/oauth/access_token

またパラメータにはclient_id, client_secret, codeが必要になります。

先ほどのリクエストに対してのレスポンスが以下の形になるみたいです。
access_token=e72e16c7e42f292c6912e7710c838347ae178b4a&token_type=bearer
ここのaccess_token=zzzzzzzを利用しましょうー。

後は、リポジトリの情報を取得するだけです!
https://api.github.com/user/repos?access_token=zzzzzz
とアクセスすれば大丈夫なはずです。
細かいパラメータ類ははしょります。。。

まぁざっくりとこんな感じでしたー。
ではでは