douju4594
2018-12-01 10:52 阅读 448
已采纳

golang http.Post请求返回响应404

I have written a go code to create a issue in a project in my github reposiory. I am using parameters as mentioned here [https://developer.github.com/v3/issues/#create-an-issue][1]

But I am getting response with status 404. Below is my code.

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    param := map[string]string{"title": "issue1", "body": "aassddrff", "assignee": "vigneshkm"}

    query, _ := json.Marshal(param)
    queryUrl := "https://api.github.com/repos/vigneshkm/first_repo/issues"

    fmt.Println("query:", string(query))
    resp, err := http.Post(queryUrl, "application/json", bytes.NewBuffer(query))

    fmt.Println("query_status : ", resp.StatusCode, "err : ", err)
    resp.Body.Close()
}

I am a beginner to web programming and I am not able to understand my mistake in this code. Kindly help me :)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    dongmo3413 dongmo3413 2018-12-01 15:03

    1) Access to https://github.com/settings/tokens
    2) Click "Generate new token"
    3) Copy the token.
    4) Paste the token to "YOUR_ACCESS_TOKEN_HERE" in below. (I mean, remove "YOUR_ACCESS_TOKEN_HERE" and paste your token there).

    $ cat main.go 
    package main
    
    import (
        "bytes"
        "encoding/json"
        "fmt"
        "net/http"
    )
    
    func main() {
        param := map[string]string{"title": "issue1", "body": "aassddrff", "assignee": "vigneshkm"}
    
        query, _ := json.Marshal(param)
        queryUrl := "https://api.github.com/repos/vigneshkm/first_repo/issues?access_token=YOUR_ACCESS_TOKEN_HERE"
    
        fmt.Println("query:", string(query))
        resp, err := http.Post(queryUrl, "application/json", bytes.NewBuffer(query))
    
        fmt.Println("query_status : ", resp.StatusCode, "err : ", err)
        resp.Body.Close()
    }
    

    This is the result in my environment.

    $ go run main.go 
    query: {"assignee":"vigneshkm","body":"aassddrff","title":"issue1"}
    query_status :  201 err :  <nil>
    

    https://github.com/vigneshkm/first_repo/issues/2

    点赞 评论 复制链接分享
  • duanrongshi1544 duanrongshi1544 2018-12-01 12:10

    You're missing access token while request.

    queryUrl := "https://api.github.com/repos/vigneshkm/first_repo/issues?access_token=" + OAUTH_TOKEN
    

    Check this document

    点赞 评论 复制链接分享

相关推荐