"客户端ID丢失或无效"在OAuth请求中

时间:2016-08-04 01:02:18

标签: smartsheet-api

我尝试使用http://smartsheet-platform.github.io/api-docs/?shell#oauth-flow上的说明在我的应用程序和Smartsheet之间设置OAuth2流程。

当用户提交Smartsheet的授权对话框时,似乎正在丢失client_id参数。这就是我所看到的:

我的网页显示指向https://app.smartsheet.com/b/authorize?response_type=code&client_id=[my_client_id]&scope=READ_SHEETS%20WRITE_SHEETS%20SHARE_SHEETS

的链接

(从这里开始,我将从URL中省略协议和域名,因为我发布的Stack Overflow足够少,我无法在一个问题中包含两个以上的链接!)

我点击该链接,然后结束/ b / authorize?formName = fn_authorize& formAction = fa_loadAuthorize& response_type = code& client_id = [my_client_id]& scope = READ_SHEETS + WRITE_SHEETS + SHARE_SHEETS。该对话框显示我的网站的徽标和名称,所以我知道client_id是正确的。

然后我点击"允许"并查看消息"客户端ID丢失或无效" at / b / authorize?formName = fn_authorize& formAction = fa_loadAuthorize& redirect_uri = [my redirect uri]

我已经多次查看说明,以确保我生成的URI有效,并且在使用和不使用redirect_uri参数的情况下尝试过。

我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

我无法重现您所描述的问题,即使使用完全根据您的帖子/问题复制的oAuth网址也是如此。以下是我的测试场景的概述:

  1. 创建了新的" App" (通过Smartsheet UI中的开发人员工具)生成客户端ID和应用秘密。

  2. 将用户重定向到:https://app.smartsheet.com/b/authorize?response_type=code&client_id=[my_client_id]&scope=READ_SHEETS%20WRITE_SHEETS%20SHARE_SHEETS

  3. 用户点击“允许”。

  4. 用户已成功重定向到我的应用配置设置中指定的重定向网址。

  5. 因此,Smartsheet oAuth似乎成功运作。这似乎表明,或许它是您的应用配置设置特有的导致您的问题。有关故障排除的几点建议:

    • 尝试编辑您的应用配置设置(暂时)将应用重定向网址的值替换为以下内容: http://www.google.com - 然后再次测试oAuth流量。如果它与新的重定向网址一起使用,则表明Smartsheet无法重定向到原始重定向网址的问题("客户端ID丢失或无效"错误消息不是真的准确的信息)。

    • 如果更改重定向网址并未解决错误 - 也许尝试完全创建一个新的应用程序(通过Smartsheet UI中的开发人员工具),并尝试相同的oAuth使用新App的客户端ID流动。如果出于某种原因,现在有关于应用程序的错误信息会给您带来错误,那么重新开始使用新应用程序可能会解决您的问题。

      < / LI>