2016-07-14 112 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格式返回工作表。