Twitter oauth golang获取错误“;代码";:“32”;“讯息”:&引用;无法验证您的身份。”;
我正在尝试使用golang的twitter帐户实现登录。我是尝试获取请求令牌的第一步。作为参考,我使用了琼斯先生的代码,可在下面的链接 我得到以下错误。请告诉我哪里出了问题: {“错误”:[{“代码”:32,“消息”:“无法验证您的身份。”}]} 这些是我使用的其他函数Twitter oauth golang获取错误“;代码";:“32”;“讯息”:&引用;无法验证您的身份。”;,twitter,go,twitter-oauth,Twitter,Go,Twitter Oauth,我正在尝试使用golang的twitter帐户实现登录。我是尝试获取请求令牌的第一步。作为参考,我使用了琼斯先生的代码,可在下面的链接 我得到以下错误。请告诉我哪里出了问题: {“错误”:[{“代码”:32,“消息”:“无法验证您的身份。”}]} 这些是我使用的其他函数 func requestString(method string, url string, params url.Values) string { result := method + "&" + escape(
func requestString(method string, url string, params url.Values) string {
result := method + "&" + escape(url)
for key, value := range params {
if len(value) > 0 {
result += escape("&")
result += escape(fmt.Sprintf("%s=%s", key, value))
}
}
return result
}
func Sign(message string, tokenSecret string) (string, error) {
key := escape(twitterConf.ClientSecret) + "&" + escape(tokenSecret)
h := hmac.New(crypto.SHA1.New, []byte(key))
h.Write([]byte(message))
rawSignature := h.Sum(nil)
base64signature := base64.StdEncoding.EncodeToString(rawSignature)
return base64signature, nil
}
能够解决问题。我做了两个改变:
headerstring := "OAuth oauth_callback=\"http%3A%2F%2Flocalhost%3A8080%2Foauth%2FtwitterOauth2callback\",oauth_consumer_key=\"consumerkey\",oauth_nonce=\"" +
params.Get(NONCE_PARAM) + "\",oauth_signature=\"" + escape(signature) + "\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"" + params.Get(TIMESTAMP_PARAM) +
"\",oauth_token=\"" + escape("oauth token") + "\",oauth_version=\"1.0\""
reqnew.Header.Add(“授权”,headerstring) headerstring := "OAuth oauth_callback=\"http%3A%2F%2Flocalhost%3A8080%2Foauth%2FtwitterOauth2callback\",oauth_consumer_key=\"consumerkey\",oauth_nonce=\"" +
params.Get(NONCE_PARAM) + "\",oauth_signature=\"" + escape(signature) + "\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"" + params.Get(TIMESTAMP_PARAM) +
"\",oauth_token=\"" + escape("oauth token") + "\",oauth_version=\"1.0\""