我在获取邮递员和智能表的新访问令牌时遇到问题。
所有URL都以https://
为前缀,但StackOverflow不允许这样做。
Callback URL: www.getpostman.com/oauth2/callback]
Token Name: Test
Auth URL: app.smartsheet.com
Access Token URL: app.smartsheet.com/token
Client ID: used the one provided when registering my app with SmartSheet
Client Secret: used the one provided when registering my app with SmartSheet
Scope: blank
Grant Type: [Authorization Code]
当我单击Request Token
时,它会将我带到智能表登录。 登录并关闭智能表浏览器后,我得到Could not complete OAuth 2.0 Login
.
查看您的示例,身份验证 URL 不正确。那应该是
https://app.smartsheet.com/b/authorize
此外,访问令牌 URL 应为
https://api.smartsheet.com/2.0/token
Smartsheet OAuth2 流程也需要一个 Scope,因此无论 Postman 怎么说,它都不能留空。
有关所有这些的更多信息,请参阅文档:http://smartsheet-platform.github.io/api-docs/#oauth-flow
重要的是要注意,在所有这些设置正确设置的情况下,在 Postman 中设置它仍然不起作用。这是因为获取和刷新令牌 Smartsheet 的 Smartsheet 过程要求客户端对授权代码进行哈希处理(使用 SHA256 使用管道和应用机密),而不是以明文形式发送。这可以说是非标准的,但仍在OAuth2规范范围内。有关此过程的详细信息,请参阅我上面引用的文档。
不幸的是,看起来Postman不支持这些类型的"香草"OAuth2偏差。 根据您要完成的任务,您要么必须手动完成该过程的步骤,要么在托管环境中建立第三方应用程序。 如果您只是想生成令牌,这种方法 http://smartsheet-platform.github.io/api-docs/#direct-api-access 可能适合您。
如果您尝试在Postman中进行测试,则直接API方法有效。 http://smartsheet-platform.github.io/api-docs/#direct-api-access
步骤1)转到实际的智能表"https":"//app.smartsheet.com/b/home",然后在"帐户>个人设置>API 访问"下 -- 生成令牌(复制它,关闭后将无法复制)
步骤2)获取工作表的网址。右键单击工作表名称选项卡,然后选择属性。复制工作表 ID(即 123456)。将其添加到网址的末尾:"https":"//api.smartsheet.com/2.0/sheets/123456"
步骤3)在我看来最令人困惑的一个。在"邮递员"中,选择"无授权"。然后用"Bearer 0da6cf0d848266b4cd32a6151b1"更新标题。您必须具有单词 Bearer,并且随机生成的数字字符串来自步骤 1。
然后发送 get 请求,您将以 json 格式返回工作表。