通过Google Apps Script对接QuickBooks OAuth时重定向URI报错求助
对接QuickBooks API的OAuth重定向URI错误问题
我正尝试通过OAuth对接QuickBooks API,已在Apps Script中添加OAuth2库并部署Web App,将Web App URL作为URI用于OAuthService调用,同时在QuickBooks的URI参数中完成配置。我能打开QuickBooks授权页面,但持续收到Intuit的错误。
相关代码
function getAuthorizationUrl() { console.log('getAuthorizationUrl called'); var service = getOAuthService(); if (!service.hasAccess()) { var authorizationUrl = service.getAuthorizationUrl(); return authorizationUrl; } } function getOAuthService() { var REDIRECT_URI = 'https://script.google.com/macros/s/[SCRIPT_ID]/usercallback/'; return OAuth2.createService('QuickBooks') .setAuthorizationBaseUrl('https://appcenter.intuit.com/connect/oauth2') .setTokenUrl('https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer') .setClientId(CLIENT_ID) .setClientSecret(CLIENT_SECRET) .setRedirectUri(REDIRECT_URI) .setCallbackFunction('authCallback') .setPropertyStore(PropertiesService.getUserProperties()) .setScope('com.intuit.quickbooks.accounting') .setTokenHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' }); }
错误信息
redirect_uri查询参数值无效。请确保它已列在应用密钥选项卡的重定向URI部分,且完全匹配。点击此处了解更多关于redirect_uri查询参数的信息。
解决建议
解决方案:使用OAuth2.getRedirectUri()获取正确的重定向URI,替换代码中手动指定的REDIRECT_URI。Google Apps Script的OAuth2库会自动生成符合要求的回调URI,手动填写容易出现格式细节(如末尾斜杠、字符大小写)的偏差,使用库提供的方法能保证URI与QuickBooks后台配置完全一致。
内容的提问来源于stack exchange,提问作者OrangeHat
相关产品推荐
相关产品推荐

