我正在尝试通过 OAuth 连接 Quickbooks API。我已将 OAuth 2 库添加到 Apps 脚本并部署 Web 应用程序。 Web 应用程序 URL 是我在 OAuthService 调用中用作 URI 的内容,我还在 Quickbooks URI 参数中对其进行了设置。我打开 Quickbooks 网站进行授权,但之后我不断收到来自 Google 或 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'
});
}
即使两端的 URI 相同,我目前也收到此错误。
redirect_uri查询参数值无效。确保它是 在应用程序的“密钥”选项卡上的“重定向 URI”部分中列出并匹配 正是如此。单击此处了解有关redirect_uri 查询的更多信息 参数。
有什么建议吗?我已经尝试了 URI 的所有可能配置。
编辑:
解决方案:使用
OAuth2.getRedirectUri()
解决方案:使用
OAuth2.getRedirectUri()