我只是想获得一个概念验证,以测试与 QB Online 帐户的 QB api 的连接。我从来没有像这样尝试过建立 OAuth 连接,所以我不确定我做对了。这是我到目前为止所拥有的,它发出了请求,但我收到了从 QB 的服务器返回的 401 错误(未经授权的 OAuth 令牌:signature_invalid401SERVER):
client := &http.Client{}
if req, err := http.NewRequest("GET", "https://qbo.intuit.com/qbo1/resource/customers/v2/717594130", nil); err != nil {
//handle error
} else {
req.Header.Add("Authorization", "OAuth oauth_token=\"MY_TOKEN\",oauth_nonce=\"7758caa9-e1f4-4fa1-84c5-5759fd513a88\",oauth_consumer_key=\"MY_KEY\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"1369259523\",oauth_version=\"1.0\",oauth_signature=\"MY_SIG\"")
if resp, err := client.Do(req); err != nil {
//handle error
} else {
defer resp.Body.Close()
contents, err := ioutil.ReadAll(resp.Body)
if err != nil {
//handle error
}
myOutput := string(contents)
}
}
问题可能出在我的 QB 帐户设置上吗?“主机名域”有一个设置,我认为它可能只允许来自我在那里输入的内容(当前是 intuit.com)的连接。如果是这种情况,我该如何设置它以允许来自本地主机上的开发应用程序的连接?