Github API v 3の使用方法、ハブAPIの使用方法


  • は最近のQuizhub API v 3を利用してホットスポットリストを作成した.
    これを契機にAPI v 3の簡単な使い方を紹介します.
  • コインを発行する


  • は、まずハブAPI認証のためにトークンを発行する.
    バニラのSettings -> Developer settings -> Personal access tokensに向かい、Generate new tokenをクリックすると、上記の画面が表示されます.Noteに希望するトークン名を書き、scopeを選択します.
    筆者はrepo万生成を選んだ.
    生成が完了すると、토큰 값が表示されます.
    タグは作成時にのみ表示されるため、コピーして他の場所に保存する必要があります.
    忘れてしまったら、補充しなければならないので、気をつけてください.
  • Github APIは認証なしで使用できます.
    ただし、認証を行わない場合、要求は1時間60回に制限されます.
    認証をすれば、1時間に5000回まで申請できます.

    Github API v3

  • https://developer.github.com/v3/
    上のリンクはgithub APIドキュメントです.
    使用方法の説明がよく、複数のAPIが使用できます.
    筆者はここでISSUEを使用します.
  • の右側のメニューでISSUEをクリックし、使用上の問題のapiを表示します.repository의 이슈 리스트が作成され、「List repository issues」をクリックします.
  • をクリックすると、List repository issuesの使い方や注意事項が表示されます.
    これは、GET /repos/:owner/:repo/issuesという方法でAPIを要求することを意味する.
    リポジトリの所有者がhyun-jiiであれば、repositoyの名前はtestです.https://api.github.com/repos/hyun-jii/test/issues GETで上記のURLをリクエストします.
  • の下に下がると、いくつかのパラメータのtypeと説明が与えられる.
    このパラメータを使用する場合は、参照してください.
  • は現在、API要求時の応答形式である.
    以上より、応答オブジェクトの構造を理解し、各イベントで得られる情報を理解できます.
    この話題をスクロールするtitle、state、user、label、numberなど、さまざまな情報を活用できます.
    筆者は簡単なテストで,各話題のtitleのみを抽出した.
  • <h1>Issue List</h1>
    <div class="container"></div>
  • は、まず、テストのための画面を簡単に配置する.
  • $(document).ready(function () {
      var auth = window.btoa("hyun-jii: 토큰 값 ");
      
        $.ajax({
          type: "GET",
          headers: {
            Authorization: "Basic " + auth,
          },
          url: "https://api.github.com/repos/hyun-jii/CRESCENDO/issues",
          dataType: "json",
          success: function (response) {
            var array = response;
            for (var i = 0; i < array.length; i++) {
              $(".container").append("<p>" + array[i].title + "</p>");
            }
          },
        });
    });
  • jquery ajaxを用いて実現した.
    指定されたフォーマットのGETURL認証トークンがheadersで要求される.
  • window.btoa()はBase 64符号化方法である.
  • が成功したときの応答が得られ、titleが抽出された.
    APIドキュメントではtitleが最初の外部配列にスタックされるためarray[i].titleに精製する.user 의 idを救いたいならarray[i].user.idlabel nameを取得するには、二重繰り返し文配列[i]を使用します.label[j].nameで抽出します.
  • は現在実行されており、次のホットスポットのタイトルのみが表示されます.
    現在公開されている話題だけが出てきますが、すべての話題や閉じた話題だけを見たい場合はurlに追加できます.issues?stae=allのほか、ページ設定やラベルなど、さまざまな設定方法がありますので、ドキュメントを参照してください.
  • トークン認証方法


    https://developer.github.com/v3/auth/
  • のリンクにアクセスしてtoken認証方法を説明します.
    筆者はBasic Authenticationを利用して認証を行った.
  • var auth = window.btoa("hyun-jii: 토큰 값 ");
    
    headers: {
            Authorization: "Basic " + auth
          }
  • 基本認証方式では、Base64符号化により認証する方式が採用されている.
    しかしBase64符号化は復号可能であり、安全性が悪い.
    そのため、HTTPS/TLSを使用することをお勧めします.
  • 最後に前に作成したホットスポットリストを紹介し、今回の位置づけを終了します.
    初めてGithub APIを使うのですが、使うのは難しくなく、思ったより多くのAPIが提供されています.
    次回は他のAPIを利用して、面白いものを作りたいと思います.
  • Reference


    https://developer.mozilla.org/ko/docs/Web/HTTP/Authentication