授权请求中缺少范围查询参数(Intuit Developer Oauth2.0)

The scope query parameter is missing from the authorization request (Intuit Developer Oauth2.0)

我正在尝试将我的 Ruby on Rails 应用程序集成到 Quickbooks Online,但在 oauth2.0 过程中遇到了问题。我收到错误;"The scope query parameter is missing from the authorization request." 来自此 url; 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 引起的。祝我好运。