【问题标题】:How to Sign a Request to the Quickbooks v3 Rest API如何签署对 Quickbooks v3 Rest API 的请求
【发布时间】:2014-09-08 22:37:31
【问题描述】:

我正在尝试构建一个签名请求以访问 Quickbooks Online REST API。我无法使用任何可用的库。我需要构建签名并手动提出请求我使用卷曲来提出请求

我已使用 oAuth 游乐场检索了所有令牌。

https://appcenter.intuit.com/Playground/OAuth/

我找不到任何关于如何签署特定于 Quickbooks 的请求的讨论,但我确实在 Twitter 上找到了关于如何创建签名的很好的教程。我假设 quickbooks 遵循 oAuth1.0 规范,如 twitter。也许我错了?

https://dev.twitter.com/docs/auth/creating-signature

按照那里的说明,我使用带有十六进制编码的 HMAC-SHA1 生成了一个签名。然后我构造了 Authorization 标头。这就是它的样子。

OAuth oauth_consumer_key="qyprdYK7bz25GNotXMtEhApqoBGv1P",
oauth_nonce="A77E0D5AB6FE4E369E2C30F4B1D3113D",
oauth_signature="REEzODg0NjM2Q0QwNkU3MjAyMTRBNjU0RjQ5OUFGNUM1RTQzQTgyOA==",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1410190307",
oauth_token="qyprdiNGZIHAj8VPN87ZhfOZ9mQJmVSCx98l2OBET9cYDL0b",
oauth_version="1.0"

但是,我收到了未经授权的回复。

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-09-08T22:31:49.649Z" requestId="66cbe3bda8b1469ba3342b84ffea149d">
    <Fault type="AUTHENTICATION">
        <Error code="3102">
            <Message>message=No apptoken detected; errorCode=003102; statusCode=401</Message>
        </Error>
    </Fault>
</IntuitResponse>

Quickbooks REST v3 API 使用 oAuth 有什么不同吗?是否有任何资源描述了如何签署快速书请求?

..

【问题讨论】:

    标签: rest oauth quickbooks


    【解决方案1】:

    Intuit 使用标准的普通 OAuth 进行身份验证。

    有关如何签署请求的详细信息,您可以参考规范:

    肯定您的消费者密钥和消费者秘密是正确的吗?您极不可能让它们正确。

    【讨论】:

      【解决方案2】:

      对于 Java -(使用标志)How to call API (Oauth 1.0)?

      SignPost 库是开源的。如果您不想使用 lib(正如您所提到的),那么您可以查看 lib 的源代码。

      C# -(使用 devdefined)https://gist.github.com/IntuitDeveloperRelations/0913b4c224de758fde0a

      否则,您可以从任何标准 REST 客户端尝试这些 API 调用。您可以将该客户端生成的标头与您手动构建的标头进行比较。

      请参考以下帖子,了解如何使用 Fiddler 调用 QB V3 端点。

      希望对你有用。

      谢谢

      【讨论】:

        猜你喜欢
        • 2016-09-04
        • 2021-06-03
        • 2014-09-26
        • 2014-03-06
        • 1970-01-01
        • 2022-06-15
        • 2019-08-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多