【发布时间】:2016-12-04 13:53:55
【问题描述】:
我正在使用 oauth2 访问第三方 API。我可以得到访问令牌,但是当我尝试通过在请求标头中传递不记名令牌来调用 API 时,它给了我 401(未经授权)错误。虽然当我尝试通过 POSTMAN 将标头作为(授权:承载)传递时它工作得很好。但是用 go 不行。
这是代码示例。
url := "http://api.kounta.com/v1/companies/me.json"
var bearer = "Bearer " + <ACCESS TOKEN HERE>
req, err := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", bearer)
client := urlfetch.Client(context)
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
writer.Write([]byte(body)) // Gives 401 Unauthorized error, though same works using POSTMAN
【问题讨论】:
-
@Havelock: go textproto 包在你设置它们时规范化所有标题。
-
@TahirRauf:您查看了标头以了解它们是如何发送的吗?