【问题标题】:Quickbooks online API with oauth2使用 oauth2 的 Quickbooks 在线 API
【发布时间】:2018-01-12 12:48:07
【问题描述】:

我需要使用 Quickbooks 在线 API 在我的系统和我的客户在 Quickbooks 上的帐户之间同步数据。

我想知道是否可以在没有人工交互的情况下完成 oauth2 授权流程并进行 API 调用(无需与 Intuit 的身份验证和授权窗口进行交互)?

我阅读了 Intuit 的文档:https://developer.intuit.com/docs/0100_quickbooks_online/0100_essentials/000500_authentication_and_authorization/connect_from_within_your_app

在第一步中,我发出了一个 GET 请求:

https://appcenter.intuit.com/connect/oauth2?client_id=MY_ID&scope=com.intuit.quickbooks.accounting&redirect_uri=https%3A%2F%2FMY_NGROK_URL.ngrok.io%2FOAuth2PHPExample.php&response_type=code&state=RandomState#/Authorize/COMPANY_ID

然后,Intuit 的身份验证和授权窗口打开,我需要输入我的用户名和密码,然后单击授权按钮以获取授权码。

有没有不用认证和授权就可以获取授权码的方法?

我需要自动执行此任务,以便在后端使用 PHP 进行 API 调用。

谢谢, 马塞洛。

【问题讨论】:

    标签: php api oauth-2.0 quickbooks


    【解决方案1】:

    有没有不用认证和授权就可以获取授权码的方法?

    不...但请阅读下文。

    我需要自动执行此任务,以便在后端使用 PHP 进行 API 调用。

    您误解了 OAuth(1 或 2)的工作原理。

    在您第一次连接时,系统将提示您验证/授权对 QuickBooks Online 数据的访问。

    然后,您将获得一个刷新令牌(或访问令牌,具体取决于您使用的是 OAuth2 还是 OAuth1)。

    然后您存储该刷新令牌(或 OAuth1 的访问令牌),然后可以使用该令牌在无人参与的情况下发出您的请求,根本不需要用户参与。

    关键要点:您只需要在您第一次连接时就参与其中的用户,然后再也不会。

    【讨论】:

    • 谢谢基思!现在我了解了 oauth 的工作原理。我认为有一种方法可以在不进行身份验证的情况下调用 API。
    猜你喜欢
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多