企业自用QuickBooks Online集成:如何跳过OAuth流程获取API访问令牌?
关于QuickBooks Online API跳过OAuth获取令牌的问题
首先直接给结论:不行,你没法跳过OAuth流程来获取QBO API的访问令牌——这是Intuit强制的安全机制,所有访问QBO API的应用,哪怕是你们内部自用的,都必须通过OAuth 2.0完成身份验证。
不过别担心,针对内部单账户的场景,Intuit提供了简化的OAuth流程,完全能满足你们的需求,不用走复杂的公共应用审核那一套:
创建私有应用
登录Intuit开发者平台,创建一个「私有」类型的应用(选择QuickBooks Online作为产品)。这种应用只绑定你们公司的QBO账户,不需要对外公开,也不用经过Intuit的应用审核流程。一次性手动完成授权,长期用刷新令牌续期
- 在应用设置里配置一个回调URL(可以是你们内部服务器的地址,甚至本地测试地址比如
http://localhost:8080/callback都可以) - 手动触发一次授权流程:用浏览器打开授权URL,登录你们公司的QBO管理员账号,授权应用访问权限
- 拿到授权码后,调用令牌交换接口,获取访问令牌和刷新令牌。访问令牌有效期短(一般1小时),但刷新令牌有效期很长(目前是180天)
- 之后每次调用API前,用刷新令牌自动获取新的访问令牌就行,不用再手动授权
- 在应用设置里配置一个回调URL(可以是你们内部服务器的地址,甚至本地测试地址比如
权限配置要到位
确保你在创建应用时,勾选了com.intuit.quickbooks.accounting这个权限范围,它包含了创建费用、发票所需的所有操作权限。
如果只是做测试,你也可以用Intuit的API Explorer工具,直接生成临时的访问令牌来验证接口调用,但生产环境一定要用私有应用的流程来搭建稳定的令牌管理机制。
内容的提问来源于stack exchange,提问作者buffolander
相关产品推荐
相关产品推荐

