问答:如何在 Zapier 上设置 Quickbooks OAuth2

Q&A: How to setup Quickbooks OAuth2 on Zapier

Zapier 是连接到 API 之类的快速手册的便捷方式。然而,关于如何设置它的文档非常少,这让我花了数周时间来弄清楚(希望这对你有所帮助!)。这是一个问答 post,但是如果有人有意见可以改进此信息,请随时在此处分享。

如果您发现自己处于像我这样的情况,并且您正在寻找如何也为 quickbooks 制作 'action' 或 'trigger',请发表评论,我可以为那些人编写教程还有。

如果我post为 Stack Overflow 以错误的格式编辑此内容,请告诉我,我会更正或将其移至博客。

根据事情的进展情况,我可能最终会提交我的 zap 以供 public 使用(我的 zap 通过他们的 ID 和 returns 一切找到估计,当你有一个 web-hook 时很有用快本)。无论如何,此 post 中提供的所有信息都是针对 OAuth2 设置的。

这是我使用的文档:

API OAuth 2.0

Playground

问题:如何使用 OAuth2 将 Quickbooks API 连接到 Zapier Developer 中的自定义应用程序?

开始这个回答假设你有一个 Quickbooks 和 Zapier 开发帐户。它还假定您已经开始设置您的第一个 Zap,并且现在正在进行身份验证。

在 Zapier Dev 中,选择身份验证选项卡和 select OAuth2

将“配置您的字段”留空,然后按继续

在“输入您的应用程序凭据”中,从您的 Intuit keys 页面

输入您的凭据

现在在“添加 OAuth v2 端点配置”中输入以下内容,如授权 URL 部分所示:

接下来定义你的范围,我用的是com.intuit.quickbooks.accounting openid email profile

我们还要获取“Access Token Request”,这样设置:

最后添加刷新请求:

将“自动刷新令牌”设置为选中。

现在,下一部分是自定义的,但我将测试请求设置为随机查询(如果需要,您也可以这样做)

const options = {
  url: 'https://sandbox-quickbooks.api.intuit.com/v3/company/ENTERYOURREALMID/query?query=select*from Invoice&minorversion=38',
  method: 'GET',
  headers: {
'Authorization': `Bearer ${bundle.authData.access_token}`,
 'content-type': 'application/x-www-form-urlencoded',
    'accept': 'application/json'
  },
  params: {

  },
  body: {

  }
}

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = z.JSON.parse(response.content);

    // You can do any parsing you need for results here before returning them

    return results;
  });

只要在http link中输入你的RealmID即可(在Quickbooks中点击myaccount即可获取REALMID,这与Company ID相同)

连接后 运行 它应该为您输入 HTTP Headers。如果不是,那么对于所有部分,它们都是相同的:

content-type: application/x-www-form-urlencoded accept: application/json

就是这样!连接您的帐户,您应该一切顺利!

NOTES:

-Quickbooks will require a refresh each 100 days.

-Remember that you must use backticks ` over single quotes ' if you are using a Zapier variable.