2

我在获取 Postman 和 SmartSheet 的新访问令牌时遇到问题。

所有 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它时,它会将我带到 SmartSheet 登录。登录并关闭 SmartSheet 浏览器后,我得到Could not complete OAuth 2.0 Login.

4

2 回答 2

3

查看您的示例,Auth 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可能对您有用。

于 2016-07-14T17:33:45.563 回答
1

如果您尝试在 Postman 中进行测试,则 Direct API 方法有效。http://smartsheet-platform.github.io/api-docs/#direct-api-access

第 1 步)转到您的实际智能表“https”:“//app.smartsheet.com/b/home”并在帐户>个人设置>API 访问下 - 生成令牌(复制后您将无法复制关)

步骤 2) 获取工作表的 url。右键单击工作表名称选项卡并选择属性。复制工作表 ID(即 123456)。将其添加到 url 的末尾:“https”:“//api.smartsheet.com/2.0/sheets/123456”

第3步)我认为最令人困惑的一个。在 Postman 中选择无授权。然后用“Bearer 0da6cf0d848266b4cd32a6151b1”更新标题。您必须拥有 Bearer 这个词,并且随机生成的数字字符串来自第 1 步。

然后发送 get 请求,您将获得 json 格式的工作表。

于 2016-08-18T07:43:12.950 回答