我正在嘗試在 golang 中為 GitHub 實(shí)現(xiàn) oauth-workflow 并使用https://github.com/franela/goreq來執(zhí)行 http(s) 請(qǐng)求。有一個(gè)部分,GitHub 返回 a code,您必須使用,和POST向https://github.com/login/oauth/access_token發(fā)出請(qǐng)求。codeclient_idclient_secretpackage mainimport "fmt"import "github.com/franela/goreq"type param struct { code string client_id string client_secret string}func main() { params := param {code: "XX", client_id:"XX", client_secret: "XX"} req := goreq.Request{ Method : "POST", Uri : "https://github.com/login/oauth/access_token", Body : params, } req.AddHeader("Content-Type", "application/json") req.AddHeader("Accept", "application/json") res, _ := req.Do() fmt.Println(res.Body.ToString())}它總是404帶著{"error":"Not Found"}信息給予。在使用 Python 時(shí),我使用相同的輸入數(shù)據(jù)獲得了正確的結(jié)果。
2 回答

汪汪一只貓
TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
您正在生成空的 JSON 對(duì)象。您的結(jié)構(gòu)字段應(yīng)以大寫字母開頭,以便 JSON 編碼器能夠?qū)ζ溥M(jìn)行編碼。
type goodparam struct {
Code string `json:"code"`
ClientId string `json:"client_id"`
ClientSecret string `json:"client_secret"`
}
看到這個(gè)在行動(dòng)。

神不在的星期二
TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
你應(yīng)該仔細(xì)檢查你的'client_secret'和'client_id'(必須是正確的,因?yàn)槟愕玫搅舜a)如果它是正確的,顯然Github如果錯(cuò)誤則返回HTTP狀態(tài)代碼404。
- 2 回答
- 0 關(guān)注
- 167 瀏覽
添加回答
舉報(bào)
0/150
提交
取消