如何解决授权请求中缺少范围查询参数Intuit Developer Oauth2.0
我正在尝试将我的 Ruby on Rails 应用程序集成到 Quickbooks Online,但在 oauth2.0 过程中遇到了问题。我收到错误;"The scope query parameter is missing from the authorization request."
来自这个网址; https://appcenter.intuit.com/app/connect/oauth2/error?error_code=MISSING_required_ParaMETER_ScopE
。但是我知道我的范围值没有丢失和正确,在使用我在测试应用程序中使用的相同代码之前它没有给出任何错误。我用于身份验证的代码块位于下面;
此代码在名为 sessions_helper.rb
def get_quickbooks_login_url
client_id = "MY_ID_KEY"
client_secret = "MY_SECRET"
oauth_params = {
site: "https://appcenter.intuit.com/connect/oauth2",authorize_url: "https://appcenter.intuit.com/connect/oauth2",token_url: "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer"
}
oauth2_client = OAuth2::Client.new(client_id,client_secret,oauth_params)
redirect_uri = 'http://localhost:3000/auth_tokens/new?service=quickbooks'
grant_url = oauth2_client.auth_code.authorize_url(redirect_uri: redirect_uri,response_type: "code",state: SecureRandom.hex(12),scope: "com.intuit.quickbooks.accounting")
end
感谢您的宝贵时间。
解决方法
我解决了这个问题。我使用的是 minimulcasts 教程中的 "Connect to Quickbooks"
按钮。在我的测试应用程序中,它没有造成任何问题,但在我的真实应用程序中,它使 oAuth 进程崩溃。我认为这是因为按钮中的 javascript 文件。按钮是这个;
<div>
<ipp:connectToIntuit></ipp:connectToIntuit>
<script type="text/javascript" src="https://appcenter.intuit.com/Content/IA/intuit.ipp.anywhere.js"></script>
<script>
intuit.ipp.anywhere.setup({menuProxy: '/path/to/blue-dot',grantUrl: '<%= get_quickbooks_login_url %>'});
</script>
</div>
我只是用这个改变了这个按钮;
<a href="<%= get_quickbooks_login_url %>" role="button" id="connect-button" class="btn btn-info">Connect to Quickbooks</a>
我的问题解决了。但现在我收到了 wrong number of arguments (given 3,expected 2)
错误,我认为这是由 SimpleCommand
引起的。祝我好运。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。