我一直在使用ColdFusion通过v3 API实现与Quickbooks的连接,除了重新连接(https://appcenter.intuit.com/api/v1/connection/reconnect)之外,大部分工作都正常。我可以获得客户信息,创建/更新发票等,但重新连接没有运气。
从我的应用程序中我得到一个错误代码22(需要验证),但我发送的是我发送的任何其他API调用的相同auth头,以访问受保护资源。 oauth规范没有专门的“重新连接”操作,所以我的问题是需要在Quickbooks重新连接调用的auth头中包含哪些特定的oauth属性?
从oauth 1.0规范是消费者请求访问令牌的标题?
oauth_consumer_key
组oauth_token
oauth_signature_method
oauth_signature
oauth_timestamp
oauth_nonce
oauth_version
oauth_verifier
或者是为访问受保护资源发送的标头
oauth_consumer_key
组oauth_token
oauth_signature_method
oauth_signature:
oauth_timestamp
oauth_nonce
oauth_version
或者,是否有其他标题集?
另外,我尝试使用Dev Playgorund测试重新连接,然后从那里我得到了一个 24 - 无效的应用程序令牌
所以我现在处于亏损状态。对于什么值得Disconnect工作正常:)
任何帮助,指导和建议都将不胜感激。
由于
答案 0 :(得分:1)
如果您按照指定的顺序执行操作,则第一个问题是您不能先断开连接然后重新连接。必须使用有效的访问令牌调用重新连接API,因为当前的访问令牌将失效,并且将发出新的访问令牌。
其次,有一个窗口用于调用此API以刷新访问令牌的6个月的生命周期,必须在过去30天内调用它。这样,您的应用就可以刷新令牌,而无需再次提示客户。
但是,在所有情况下,如果断开连接,或者客户手动断开连接,则无法调用重新连接API。您需要再次通过授权流程。
希望有所帮助 震动
答案 1 :(得分:1)
要测试从开发者游乐场重新连接,请使用以下步骤 - 1.导航到IPP Playground-转到管理我的应用程序 - >单击您的应用程序
在下面的链接中填写消费者密钥和消费者密钥。
产品:https://appcenter.intuit.com/Playground/OAuth/IA/?ck=<>& cs =<> 阶段:https://appcenter-stage.intuit.com/Playground/OAuth/IA/?ck=<>& cs =<>
或者,您可以在舞台或prod上导航到应用程序的“管理”页面,然后单击“测试连接到应用程序(OAuth)”。附加屏幕截图。 2.在“访问令牌持续时间”字段中输入您要发布的OAuth令牌的持续时间(例如,成功重新连接时为3600)。附加屏幕截图。 3.单击“连接到QuickBooks”按钮,浏览OAuth流以授权与领域的连接。 4.在生成的“连接后交互”标题下,单击“重新连接API测试”。附加屏幕截图。 5.将在您的OAuth令牌显示的位置启动新页面。将这些值复制到您的应用程序以测试重新连接
正如Jarred所说,对于dev / live应用程序,有一个窗口可以调用此API来刷新访问令牌的6个月生命周期,必须在过去30天内调用它。
答案 2 :(得分:1)
我也收到了这个错误。我需要错误代码22(需要验证)才意味着OAuth签名错误。这很令人困惑,因为我无法在Quickbooks文档中找到此错误以重新连接。
我正在签署请求作为" POST"要求而不是" GET"请求,这是Quickbooks调用重新连接端点所需的内容。