2016-06-13 90 views
0

因此,我得到的錯誤是:HTTP狀態401:未經授權,響應:{「errors」:[{「errorType」:「invalid_request」,「message」:「需要授權標頭需要授權標題Fitbit Swift oauth

我有授權fitbit的代碼是:

func authorizeFitbit(completion: (result: Bool) -> Void){ 
     oauthswift.accessTokenBasicAuthentification = true 
     let state: String = generateStateWithLength(20) as String 
     oauthswift.authorizeWithCallbackURL(NSURL(string: "xxxxxxxxx")!, scope: "xxxxxxxxxxxxx", state: state, success: { 
      credential, response, parameters in 
      self.getUserProfile(){ 
       (result: Bool) in 
       completion(result: result) 
      } 

      }, failure: { error in 
       print(error.localizedDescription) 
       completion(result: false) 
     }) 
     } 

我能搶的個人資料,但是當我試圖通過點擊IBAction爲按鈕,抓住從fitbit更多的信息,我需要使用此再次授權功能以獲取步數

回答

0

該que可能需要更多細節才能得到妥善解答。

  • 您正在使用哪種OAuth授權類型?
  • 什麼是您正在使用的oauthswift類?你自己或第三方?
  • 你說你可以抓取個人資料信息。是否應該這樣理解,因爲您已經能夠獲得所使用的任何授予類型的整個方法,但是當您要對資源服務器執行新的請求時遇到問題?

其他一些OAuth實現要求您在將請求發送到資源服務器時將授權HTTP標頭設置爲實際令牌類型和實際的access_token。下面是使用授權碼流爲微軟Azure AD的例子:

GET /v1.0/me/messages 
Host: https://graph.microsoft.com 
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSU... 

另一種可能性,如果我比作「授權碼」交付式,在「INVALID_REQUEST」錯誤意味着你沒有通過第一請求流中的階段,請求訪問令牌之前得到的錯誤。

編輯:沒有看到這個問題是多大年紀。好吧,我讓答覆在這裏,無論如何,也許它有助於某人...