以下是我使用的OAuth库:https://github.com/danielcrenna/oauth
我获得令牌,秘密和realmId(公司ID)就好并存储它们,但当我去做一个简单的请求时,我得到(401)未经授权。
以下是我使用的代码:
var rq = new OAuthRequest
{
Method = "GET",
Type = OAuthRequestType.ProtectedResource,
SignatureMethod = OAuthSignatureMethod.HmacSha1,
ConsumerKey = ConfigurationManager.AppSettings["ConsumerKey"],
ConsumerSecret = ConfigurationManager.AppSettings["ConsumerSecret"],
Token = requestToken,
TokenSecret = requestTokenSecret,
RequestUrl = "https://quickbooks.api.intuit.com/v3/company/" + realmId + "/query?query=select%20%2A%20from%20CompanyInfo&minorversion=4",
Version = "1.0",
};
Auth标题:
OAuth oauth_consumer_key="****",oauth_nonce="6su4ljd2is5bxns4",oauth_signature="0taFXiouzOkpK258tz%2Fc%2F2fVQ0c%3D",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1461339515",oauth_token="****",oauth_version="1.0"
我无法在错误中找到任何其他详细信息,我只是得到了#34; 401未经授权。"我如何得到这个请求?
答案 0 :(得分:1)
Oauth对标题的写法非常严格。为什么不使用Intuit已经提供的一个库?或使用API资源管理器查看标题并与您的请求标题进行比较?
oauth标头参数的顺序很重要,版本不是最后一个。请参阅本指南。