我是否可以代表其他用户在他们的帐户中创建QuickBooks发票?

bis0qfac  于 2022-09-21  发布在  其他
关注(0)|答案(1)|浏览(124)

我正在跟踪Intuit的oAuth authentication guide,以便通过Quickbook登录用户并获得访问/刷新令牌,以便进行API调用。我们通过node-quickbooks SDK在节点进行API调用。

我可以通过Quickbook和我收到的用于访问和刷新令牌的交换码成功登录用户,我甚至可以成功地进行API调用来创建发票。

问题是,即使我使用经过身份验证的用户的令牌进行API调用,发票也是在我们的Quickbook公司而不是他们的公司中创建的。

是否可以在其他用户的Quickbook帐户中创建发票?如果不是,那么首先为它们获取访问和刷新令牌有什么意义呢?无论如何,这一切都是在Quickbook开发人员沙箱中完成的(但有两个独立的帐户)。

我对这里的方法论是什么感到很困惑,任何指导都会非常感谢--甚至只是对这是可能的保证。

谢谢!

3qpi33ja

3qpi33ja1#

所操作的QuickBooks示例由Realm ID参数确定。当在授权流期间选择QuickBooks Online帐户时,将捕获领域ID。

如果我们可以将您的Quickbook公司称为“公司A”,而您正试图在“公司B”中创建发票,我会说这听起来像是公司A的领域ID被记录下来并在后续请求中传递,而不是公司B的。这可能是由于硬编码公司A的领域ID并将其用于创建发票请求、在授权过程中选择了错误的帐户或其他更棘手的原因,如您正在使用的SDK中的错误。

我会从获取公司A和B的公司ID开始,这是Intuit在您从用户界面访问它时所称的领域ID。您可以在登录到沙箱或生产帐户时执行此操作,方法是在Windows中按Ctrl+Alt+?,在MacOS中按Control+Option+?。然后,您可以验证是否在创建发票请求中使用了正确的领域ID。

如果请求使用在身份验证期间捕获的值(正如它们应该使用的那样),那么您可以在SDK代码中记录在授权期间捕获的领域ID,并验证它是否适用于您在OAuth流期间选择的公司。

相关问题