2015-01-15 117 views
0

我開發的android應用程序備份照片到flickr。在OAuth授權中的401響應flickr

我有幾次下一個問題: 有時我收到401響應(「響應代碼:401,響應消息:未經授權,錯誤:oauth_problem = token_rejected」),而不是使用訪問令牌響應,在交換請求令牌一個訪問令牌。

這個問題主要發生在我有不好的網絡連接時(當我起訴3G互聯網時)。

這裏有日誌,顯示此行爲:

2015-01-07 17:12:00,603 DEBUG [oauth.OAuthInterface]-[122] Getting Request Token with parameters: www.flickr.com/services/oauth/request_token [ 
Parameter [name=oauth_callback, value={MY_APP_NAME}-flickr://callback], 
Parameter [name=oauth_consumer_key, value={MY_CONSUMER_KEY}], 
Parameter [name=oauth_nonce, value=154099562370628], 
Parameter [name=oauth_signature_method, value=HMAC-SHA1], 
Parameter [name=oauth_timestamp, value=1420630920], 
Parameter [name=oauth_version, value=1.0], 
Parameter [name=oauth_signature, value=oVkmG/7nOoiO0P6Dm2j4Aql4lDs=] 
] 

2015-01-07 17:12:01,695 DEBUG [oauth.OAuthInterface]-[136] 
Response: {oauth_token_secret={RESULT_OAUTH_TOKEN_SECRET}, oauth_callback_confirmed=true, oauth_token={RESULT_OAUTH_TOKEN}} 

後,我在瀏覽器中打開下一個URL的用戶: URL = m.flickr.com/services/oauth/authorize?oauth_token={RESULT_OAUTH_TOKEN} &燙髮=寫

授權後,我得到下一個回調:

{MY_APP_NAME}-flickr://callback?oauth_token={RESULT_OAUTH_TOKEN}&oauth_verifier=59bbeb1cb3ffedca 

使用驗證我提出一個請求:

2015-01-07 17:12:47,043 DEBUG [flickrjandroid.REST]-[288] Send Post Input parameters [ 
Parameter [name=oauth_consumer_key, value={MY_CONSUMER_KEY}], 
Parameter [name=oauth_nonce, value=154146242657849], 
Parameter [name=oauth_signature_method, value=HMAC-SHA1], 
Parameter [name=oauth_timestamp, value=1420630967], 
Parameter [name=oauth_token, value={RESULT_OAUTH_TOKEN}], 
Parameter [name=oauth_verifier, value=59bbeb1cb3ffedca], 
Parameter [name=oauth_version, value=1.0], 
Parameter [name=oauth_signature, value=yZjgD6iKGxn4lzJVuZHnEaqWsHE=]] api.flickr.com:443/services/oauth/access_token 

的響應是:

響應代碼:401,響應消息:未經授權,錯誤:oauth_problem = token_rejected

什麼會導致拒絕令牌? 我可以嘗試使用相同的驗證者獲得401響應後發出另一個請求,否則這也會返回401響應?

這個問題有時會發生,通常在互聯網連接不好的時候。 若需授權我使用flickrj-的Android 2.1.1

+0

嗨Rostyslav Roshak你解決了這個問題嗎? – Jinu 2017-02-21 11:39:50

回答

0

這些都是一些原因,可以拒絕該令牌:

  • 請求令牌已被用來交換訪問令牌。
  • 請求令牌與用戶密鑰不匹配。
  • 從客戶收到的驗證碼無效。