2016-08-04 104 views
0

我試圖在我的應用程序和Smartsheet之間使用http://smartsheet-platform.github.io/api-docs/?shell#oauth-flow上的說明設置OAuth2流。OAuth請求中的「客戶端ID缺失或無效」

當用戶提交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中的協議和域,因爲我已經發布足夠小堆棧溢出,我我無法包括在一個問題兩個以上的鏈路!)

我點擊鏈接,和風能上/ b /授權?表格名稱= fn_authorize & formAction = fa_loadAuthorize & RESPONSE_TYPE =代碼&的client_id = [my_client_id] &範圍= READ_SHEETS + WRITE_SHEETS + SHARE_SHEETS。該對話框顯示我的網站的徽標和名稱,所以我知道client_id是正確的。

然後我點擊 「允許」 和看到消息 「客戶端ID被丟失或無效」 在/ B /授權?表格名稱= fn_authorize & formAction = fa_loadAuthorize & REDIRECT_URI = [我的重定向URI]

I」爲了確保我生成的URI是有效的,並且嘗試了使用和不使用redirect_uri參數,我仔細檢查了幾次指令。

我會做什麼錯?

回答

0

即使使用完全從您的帖子/問題複製的oAuth網址,我無法重現您所描述的問題。這裏是我的測試場景的回顧:

  1. 創建新的「應用程序」(通過開發工具在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. 用戶被成功重定向到我的應用程序配置設置中指定的重定向URL。

因此,Smartsheet oAuth似乎能夠成功運行。這似乎表明,也許這是特定於您的應用程序配置設置,這是導致您的問題。一種用於故障排除一些建議:

  • 嘗試編輯您的應用程序配置設置(臨時)取代應用的價值重定向URL與喜歡簡單的東西:http://www.google.com - 再試驗的OAuth再次流動。如果它適用於新的重定向網址,那麼建議Smartsheet不能重定向到原始重定向網址(並且「客戶端ID缺失或無效」錯誤消息不是真正的準確消息)。

  • 如果更改重定向URL不能解決的錯誤 - 也許嘗試完全創建一個新的應用程序(通過開發工具在Smartsheet UI),並使用新的App的客戶端ID嘗試相同的OAuth流。如果由於某種原因,現在應用程序出現了一些可能會導致錯誤的應用程序,那麼從新的應用程序重新開始就可能解決您的問題。

+0

謝謝!這並沒有完全解決我的問題,但它讓我進入了正確的社區。我嘗試了你提出的兩件事,並得到了相同的行爲。然後我決定在我的應用程序配置設置中嘗試編輯其他內容。我輸入了「Amy's Dev Site」作爲我的應用程序名稱。想到「不,那不可能!」,我拿出撇號,把名字改成「艾米開發網站」。這解決了它!我被重定向回到我的網站的oauth頁面,現在我只需要調試其餘的過程。 我想有一個在那個人的錯誤報告。 –

+0

真棒,很高興聽到你明白了。並且,感謝您在此分享決議,以便其他人可以從中受益。如果您非常喜歡,可以通過發送電子郵件至[email protected]將此問題報告給Smartsheet,以便查看此StackOverflow帖子的鏈接(注意查看答案的評論部分以獲取確切的解決方案)。 –