为了账号安全,请及时绑定邮箱和手机立即绑定

golang http.Post 请求返回响应 404

golang http.Post 请求返回响应 404

Go
HUX布斯 2023-05-15 10:27:19
我已经编写了一个 go 代码来在我的 github 存储库中的项目中创建一个问题。我正在使用这里提到的参数 [ https://developer.github.com/v3/issues/#create-an-issue][1]但是我收到状态为 404 的响应。下面是我的代码。package mainimport (    "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()}我是网络编程的初学者,我无法理解这段代码中的错误。请帮助我:)
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

1) 访问https://github.com/settings/tokens
2) 点击“生成新令牌”
3) 复制令牌。
4) 将令牌粘贴到下面的“YOUR_ACCESS_TOKEN_HERE”。(我的意思是,删除“YOUR_ACCESS_TOKEN_HERE”并将您的令牌粘贴到那里)。

$ 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()

}

这是在我的环境中的结果。


$ go run main.go 

query: {"assignee":"vigneshkm","body":"aassddrff","title":"issue1"}

query_status :  201 err :  <nil>

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


查看完整回答
反对 回复 2023-05-15
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

您在请求时缺少访问令牌。

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

检查这个文档


查看完整回答
反对 回复 2023-05-15
  • 2 回答
  • 0 关注
  • 250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信