この記事の目的

「GraphQLを試してみたい!&実際に何か作ってみたい!」という方に、Google Apps Scriptという環境でGithub APIv4(GraphQL)を試す最小限のコードを紹介することです。

目次へ戻る

GraphQLの特徴

次世代のAPI用クエリ言語、「GraphQL」を使って、GithubのAPIを叩いてみました!
GraphQLはFacebookが開発した、RESTに次ぐクエリの方式です。
初めはFacebook社内でのみ使われていましたが、その利便性ゆえにOSSとして公開されたとのこと。

使う側の視点から、端的にRESTとの大きな違いを書くと以下のようになります。
- 必要な情報を一度のクエリで取得できる
- エンドポイントが一つで済む

早速使ってみましょう!

目次へ戻る

Google Apps Scriptで試してみよう!

function fetchUserName() {
  // どのようなGraphQLのクエリを書いても、エンドポイントは固定でOKです
  const url = 'https://api.github.com/graphql';
  const token = '取得したTokenを記入してください';

  // GraphQLのクエリを作成
  const graphql = 
    '{ \
    viewer { \
      login\
        }\
     }';

  const options = {
    'method' : 'post',
    'contentType' : 'application/json',
    'headers' : {
      'Authorization' : 'Bearer ' +  token
     },
    'payload' : JSON.stringify({ query : graphql })
  };

  const response = UrlFetchApp.fetch(url, options);
  const json = JSON.parse(response.getContentText());

  Logger.log(json);
}

(Githubのトークン取得の方法はこちらの記事をご参照ください。
GitHub「Personal access tokens」の設定方法

コードはAPIを叩いて、自分のログイン名を取得するシンプルなものです!
これを実行した結果は以下の通りです。


(ログイン名は伏せてます(笑))

GraphQLを書いてみて、GAS上で返ってきたJSONをいじることで面白いことができそうです!
Github APIv4(ちなみに、v3はREST方式)のGraphQLは開発者向けの公式サイトから試すことができます。

このサイトでGithub上の欲しいデータを取得するGraphQLがかけたら、コード内の変数graphqlに代入することでGoogle Apps Scriptですぐに使うことができます。

次回はGraphQlを使って取得したデータを加工して、Slackに連携しようと思います!

この記事をシェアする:

東日本橋の制作・開発会社 プレスマンのスタッフブログ