Go言語初心者です。
Go言語にてプログラミングを行っており、GithubのGraphQL APIに接続しようとしましたが、「400 Bad Request」が発生してしまいます。
ソースは以下です(一部抜粋)
Go
1package main 2 3import ( 4 "net/http" 5 "net/url" 6 "fmt" 7) 8 9func main() { 10 11 http.ListenAndServe(":8000", nil) 12 posturl := "https://api.github.com/graphql" 13 14 data := url.Values{} 15 data.Set("query", "{\"query { viewer { login }\"}") 16 req, _ := http.NewRequest("POST", posturl, strings.NewReader(data.Encode())) 17 18 req.Header.Set("Content-Type", "application/json") 19 req.Header.Set("Authorization", "Bearer [アクセストークン]") 20 21 client := new(http.Client) 22 resp, err := client.Do(req) 23 if err != nil { 24 fmt.Println(err) 25 }else{ 26 fmt.Println("%d\n", resp) // ここで400 Bad Request のエラーが吐かれる 27 } 28}
まずはログインIDのみ取得したいなと思いコーディングしました。
ちなみに「http.NewRequest」の第3引数をnilにしたらステータスコード200で成功しました。
POSTデータの渡し方、もしくは形式が良くないのかと思っています。
非常にざっくりとして不躾な質問となってしまいますが、どなたか助けていただける方、ご教示いただけますと幸いです。
あなたの回答
tips
プレビュー