Oauth 如何在ColdFusion 9中签署quickbooks在线API请求?

Oauth 如何在ColdFusion 9中签署quickbooks在线API请求?,oauth,coldfusion,http-headers,coldfusion-9,quickbooks-online,Oauth,Coldfusion,Http Headers,Coldfusion 9,Quickbooks Online,在我的CF应用程序中,我使用从QuickBooks Online获取请求令牌和访问令牌,它运行良好。 在我尝试通过开始构建调用的http头来进行QBO API调用之后(我遵循了此处“http授权头”一节中的说明:)。然后基于Riafforge的代码方法构建http头,因为它可以工作。此外,我尊重Intuit在上一个链接中给出的参数顺序) 当我启动API调用时,我收到了响应:“签名无效” 如果我已经准备好6个头参数,我真的想知道如何使用CF 9签署QBO在线API调用的说明: oauth_代币

在我的CF应用程序中,我使用从QuickBooks Online获取请求令牌和访问令牌,它运行良好。 在我尝试通过开始构建调用的http头来进行QBO API调用之后(我遵循了此处“http授权头”一节中的说明:)。然后基于Riafforge的代码方法构建http头,因为它可以工作。此外,我尊重Intuit在上一个链接中给出的参数顺序)

当我启动API调用时,我收到了响应:“签名无效”

如果我已经准备好6个头参数,我真的想知道如何使用CF 9签署QBO在线API调用的说明:

  • oauth_代币
  • 现在
  • oauth_消费者_密钥
  • oauth_签名法
  • oauth_时间戳
  • oauth_版本
(但如果可能的话,工作代码会更好)


提前感谢您的时间和帮助

这是我用来为请求令牌生成签名和头的,简单的添加用于您需要的其他签名

paramsStr = "oauth_callback=" & encodeData(CALL_BACK_URL) & "&" & "oauth_consumer_key=" & sConsumerKey & "&" & "oauth_nonce=" & session.nonce & "&" & "oauth_signature_method=" & SIGNMETHOD & "&" & "oauth_timestamp=" & TIMESTAMP & "&" & "oauth_version=" & VERSION;

signStr = "POST&" & encodeData(REQUEST_TOKEN_URL) & "&" & encodeData(paramsStr);

signature = computeHMACSignature(signStr, sConsumerSecret & "&");

authHeader = 'OAuth ' & createHeaderElement("oauth_consumer_key", trim(sConsumerKey)) & ", " & createHeaderElement("oauth_nonce", trim(session.nonce)) & ","  & createHeaderElement("oauth_signature_method", trim(signmethod)) & ", " & createHeaderElement("oauth_signature", trim(signature)) & ", " & createHeaderElement("oauth_timestamp", trim(TIMESTAMP)) & ", " & createHeaderElement("oauth_version", trim(VERSION)) & ", " & createHeaderElement("oauth_callback", trim(CALL_BACK_URL)); 

提示:您可以使用工具栏中的“代码”按钮ie
{}
格式化代码段,以提高可读性