2012-07-31 39 views
0
工作

我試圖上傳使用劃線的照片,並且它似乎並沒有與收到錯誤的工作:使用劃線,OAuth的回聲似乎並不與Twitpic

Authentication challenged received is null 

而且我也沒有的想法,由於缺乏關於如何解決這個問題的文件。

相關的代碼是:

try{ 
     OAuthRequest r = new OAuthRequest(Verb.POST, url); 
     ByteArrayOutputStream out = new ByteArrayOutputStream(); 
     toSend.writeTo(out); 
     r.addPayload(out.toByteArray()); 
     r.addHeader(toSend.getContentType().getName(), toSend.getContentType().getValue()); 

     OAuth10aServiceImpl oauth = (OAuth10aServiceImpl)oauthImpl; 
     OAuthRequest sr = new OAuthRequest(Verb.GET, serviceProvider); 
     sr.addOAuthParameter(OAuthConstants.TOKEN, oauthToken.getToken()); 
     sr.addOAuthParameter(OAuthConstants.REALM,"http://api.twitter.com/"); 
     oauth.addOAuthParams(sr, client._oauthToken); 

     r.addHeader("X-Auth-Service-Provider",serviceProvider); 
     String oauthHeader = oauth.api.getHeaderExtractor().extract(sr); 
     r.addHeader("X-Verify-Credentials-Authorization", oauthHeader); 

     System.out.println(r.getHeaders().get("X-Verify-Credentials-Authorization")); 

     return r.send(); 
    }catch(Exception e){ 
     e.printStackTrace(); 
     return null; 
    } 

我想這件事情與消費者的關鍵,因爲它似乎並沒有被添加到簽名,但我也不太清楚到底發生了什麼上:/

任何幫助,將不勝感激

+0

噢,我改變抄寫一些地區的能見度(其中像yfrog一些服務是不同的),所以我可以訪問我所需要的零件 – 2012-07-31 14:59:07

回答

1

固定。下面是代碼:

 OAuthRequest r = new OAuthRequest(Verb.POST, url); 
     ByteArrayOutputStream out = new ByteArrayOutputStream(); 
     toSend.writeTo(out); 
     r.addPayload(out.toByteArray()); 
     r.addHeader(toSend.getContentType().getName(), toSend.getContentType().getValue()); 

     OAuth10aServiceImpl oauth = (OAuth10aServiceImpl)client._oauth; 
     OAuthRequest sr = new OAuthRequest(Verb.GET, serviceProvider); 
     oauth.signRequest(client._oauthToken, sr); 

     r.addHeader("X-Auth-Service-Provider",serviceProvider); 
     String oauthHeader = sr.getHeaders().get("Authorization"); 
     r.addHeader("X-Verify-Credentials-Authorization", oauthHeader); 

對於任何人想知道如何工作的,toSend是包含文件和其他StringBody零件和client._oauthTokenToken對象HttpEntityr是我的要求twitpic和serviceProvider是Twitter API的驗證憑證鏈接