2016-07-14 110 views
2

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

所有的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

回答

2

看看你的例子,验证URL是不正确的。这应该是

https://app.smartsheet.com/b/authorize 

此外,访问令牌URL应该是

https://api.smartsheet.com/2.0/token 

的Smartsheet OAuth2流程还需要一个范围,所以不能留下,尽管什么邮差说空白。所有的这

的更多信息可以在文档中找到: http://smartsheet-platform.github.io/api-docs/#oauth-flow

需要注意的是所有这一套正确邮差设置此功能仍然无法工作是非常重要的。这是由于Smartsheet获取和刷新令牌Smartsheet的过程需要客户端使用SHA256来散列授权码(使用管道和应用程序秘密),而不是以明文形式发送。这可以说是非标准的,但仍然在OAuth2规范中。关于这个过程的更多信息在我上面引用的文档中。

不幸的是,它看起来不像邮差支持这些类型的偏离“香草”OAuth2的偏差。根据您要完成的任务,您必须手动完成流程的各个步骤,或者在托管环境中站立第三方应用。如果你只是想生成一个令牌,这种方法http://smartsheet-platform.github.io/api-docs/#direct-api-access可能会替你工作。

1

如果您试图在Postman中测试Direct 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)在我看来,最容易混淆的一个。在Postman中选择No Authorization。然后去“Bearer 0da6cf0d848266b4cd32a6151b1”更新标题。您必须拥有承载词,随机生成的数字字符串来自步骤1.

然后发送获取请求,并以json格式返回工作表。