我正在尝试在 golang 中为 GitHub 实现 oauth-workflow 并使用https://github.com/franela/goreq来执行 http(s) 请求。有一个部分,GitHub 返回 a code,您必须使用,和POST向https://github.com/login/oauth/access_token发出请求。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 时,我使用相同的输入数据获得了正确的结果。
2 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
您正在生成空的 JSON 对象。您的结构字段应以大写字母开头,以便 JSON 编码器能够对其进行编码。
type goodparam struct {
Code string `json:"code"`
ClientId string `json:"client_id"`
ClientSecret string `json:"client_secret"`
}
看到这个在行动。
神不在的星期二
TA贡献1963条经验 获得超6个赞
你应该仔细检查你的'client_secret'和'client_id'(必须是正确的,因为你得到了代码)如果它是正确的,显然Github如果错误则返回HTTP状态代码404。
- 2 回答
- 0 关注
- 152 浏览
添加回答
举报
0/150
提交
取消