前置作業
到 CoinMarketCap 申請一個 API Key。
實作
建立專案。
1 2
| mkdir go-coinmarketcap-api-example cd go-coinmarketcap-api-example
|
初始化 Go Modules。
1
| go mod init github.com/memochou1993/go-coinmarketcap-api-example
|
下載 joho/godotenv
套件。
1
| go get github.com/joho/godotenv
|
新增 .env
檔,將 API Key 填入:
新增 .gitignore
檔:
新增 main.go
檔:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| package main
import ( "io/ioutil" "log" "net/http" "os" "time"
_ "github.com/joho/godotenv/autoload" )
var ( API_KEY = os.Getenv("COINMARKETCAP_API_KEY") )
func main() { client := &http.Client{ Timeout: time.Second * 10, } req, err := http.NewRequest(http.MethodGet, "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest", nil) if err != nil { log.Println(err) return } req.Header.Add("X-CMC_PRO_API_KEY", API_KEY) resp, err := client.Do(req) if err != nil { log.Println(err) return } defer resp.Body.Close() res, err := ioutil.ReadAll(resp.Body) if err != nil { log.Println(err) return } log.Println(string(res)) }
|
執行程式。