添加只读QuickBooks Web Connector应用报错3263配置问题咨询
报错3263的原因分析
当QWC文件中<IsReadOnly>设为true时,QuickBooks Web Connector会向QuickBooks Desktop申请只读级别的集成应用权限,触发两个校验规则导致报错:
- 你使用的QuickBooks PHP集成库默认初始化SOAP服务端时,没有明确声明当前服务仅用于只读查询,QuickBooks会判定应用的权限申请与实际运行逻辑不匹配,直接拦截请求。
- 2021及之后版本的QuickBooks Desktop对只读集成应用有额外校验:如果SOAP服务端没有在交互的SOAP头中携带只读标识,即使QWC声明了只读属性,也会触发权限校验失败。
将<IsReadOnly>改为false后可以正常运行,是因为读写权限是QB集成应用的默认兼容权限,PHP库的默认配置完全适配读写权限场景,且读写权限本身包含所有查询类操作的权限,因此你仅做数据查询的逻辑也可以正常运行。
只读模式的特殊配置
如果你确实需要使用只读模式避免误修改QB数据,需要做以下调整:
- 保留QWC文件中的
<IsReadOnly>true</IsReadOnly>配置 - 在初始化
QuickBooks_WebConnector_Server的$handler_options数组中新增只读声明:
$handler_options = array( 'deny_concurrent_logins' => false, 'deny_reallyfast_logins' => false, 'readonly' => true, // 声明服务端仅支持只读操作 );
- 确保操作映射
$map中仅包含查询类操作,不能添加任何新增/修改/删除类的写操作 - 第一次添加应用弹出权限授权窗口时,QuickBooks管理员要明确选择授予该应用只读访问权限
内容的提问来源于stack exchange,提问作者kbrin-1372
相关产品推荐
相关产品推荐

