Cover Image for Go言語でGitHub REST API を使ってリポジトリIDとリポジトリ名一覧を取得する方法
Go言語でGitHub REST API を使ってリポジトリIDとリポジトリ名一覧を取得する方法

image

ども、k69 です。

めんどくさい作業を自動化するために、Go言語でツールを作るにはREST APIを使った処理が必須だと思い、HTTPクライアントとJSONの処理を調べてみた。

じゃ、「お試しでGitHub REST API を使って、リポジトリIDとリポジトリ一覧を取得してみよう!」と
ウニウニしたのがこの記事です。

対象読者

  • Go言語でREST API操作をどうやるか知りたい人
  • REST APIを使ってGitHubを操作したい人

前提条件

  • Window端末
  • Go言語の基礎知識がある人
  • Gitコマンドの基礎知識がある人

手順

1. 事前準備

1-1. GitHubのパーソナルアクセストークンを取得する

※ 取得したパーソナルアクセストークンを使用するのでメモしておきましょう!

1-1-1. Settingsを押す。

image

1-1-2. Developer settings を押す。

image

1-1-3. Personal access tokens を押す。

image

1-1-4. Genarate new tokens を押す。

image

1-1-5. Token desucription を記入し、repo 選択を押す。

image

1-1-6. 画面下の Generate token を押す。

image

1-2. git clone する

ここにソースコードがあるので参考にしてください。

コマンド
cd C:\tmp
git clone https://github.com/keita69/qiita-go-github.git

2. ソースコードを一部修正する

qiita-go-github\src\gt\github-tool.goにあるmain()メソッドの下記の部分を変更する。

修正箇所
	// Pleaer change your data !
	g_user := "CHANGE-ME"     // あなたのGitHubのUserID
	p_token := "CHANGE-ME"   // 取得したパーソナルアクセストークン

3. コンパイルと実行

GOPATH を設定して、コンパイル(go install )します。
※ go install だと、%GOPATH%\bin に実行ファイルを作成してくれるので便利

コンパイル
set GOPATH=C:\tmp\qiita-go-github
cd %GOPATH%
go install gt
%GOPATH%\bin\gt.exe

自分のGitHubのリポジトリIDとリポジトリ名が表示されます

実行結果(例)
Id=109214131 Name=go-animals
Id=111937536 Name=go-cli-cobra
Id=112084063 Name=go-cobra
Id=111267920 Name=go-unittest
Id=106984517 Name=helloworld-go
  :

まとめ

go言語でREST APIを扱うことが簡単にできました。今回の記事ではGitHubを例に書きましたが、REST APIであれば他のサービスやアプリケーションとの連携に使えるのでかなり応用できそうです。

あと、余談ですが次世代APIとして「GraphQL」が来ているみたいなので、早く標準パッケージ化されてほしい('ω')ノ

参考URL

© 2022 k69

本サイトを通じて、たくさんの人がプログラミングに興味を持ち、 これがキッカケでモノづくりの楽しさに触れることができれば幸せです!