golang http.Post 请求 returns 响应 404
golang http.Post request returns with response 404
我已经编写了一个 go 代码来在我的 github 存储库中的一个项目中创建一个问题。我正在使用此处提到的参数 [https://developer.github.com/v3/issues/#create-an-issue][1]
但我收到状态为 404 的响应。下面是我的代码。
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()
}
我是网络编程的初学者,我无法理解我在这段代码中的错误。请帮助我:)
您在请求时缺少访问令牌。
queryUrl := "https://api.github.com/repos/vigneshkm/first_repo/issues?access_token=" + OAUTH_TOKEN
勾选这个document
1) 访问 https://github.com/settings/tokens
2) 点击"Generate new token"
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>
我已经编写了一个 go 代码来在我的 github 存储库中的一个项目中创建一个问题。我正在使用此处提到的参数 [https://developer.github.com/v3/issues/#create-an-issue][1]
但我收到状态为 404 的响应。下面是我的代码。
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()
}
我是网络编程的初学者,我无法理解我在这段代码中的错误。请帮助我:)
您在请求时缺少访问令牌。
queryUrl := "https://api.github.com/repos/vigneshkm/first_repo/issues?access_token=" + OAUTH_TOKEN
勾选这个document
1) 访问 https://github.com/settings/tokens
2) 点击"Generate new token"
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>