2011-02-03 1 views
0

retrieveRequestToken 푯말 API에서 Auth_url을 가져 오려고했습니다. OAuthCommunicationException을 던집니다. 트위터에 동일한 코드를 사용했을 때 (소비자 변경 후 제공) 문제없이 작동합니다. 제발 도와주세요. 감사합니다Netflix에서 푯 말 API를 사용하는 OAuth 관련 문제 - OAuthCommunicationException

public class NetflixTest { 

private static final long serialVersionUID = 1L; 

    public static final String NETFLIX_REQUEST_TOKEN_URL = "http://api.netflix.com/oauth/request_token"; 
    public static final String NETFLIX_ACCESS_TOKEN_URL = "http://api.netflix.com/oauth/access_token"; 
    public static final String NETFLIX_AUTHORIZE_URL = "https://api-user.netflix.com/oauth/login"; 

    public static void main(String[] args) { 

     System.setProperty("debug", "1"); 
     OAuthConsumer consumer = new DefaultOAuthConsumer("jw5pvuq766d6rf4m2pu2ft5r", "y8x3dhMFqz");  
     OAuthProvider provider = new DefaultOAuthProvider(NETFLIX_REQUEST_TOKEN_URL, 
      NETFLIX_ACCESS_TOKEN_URL, NETFLIX_AUTHORIZE_URL); 

     try { 
      String authUrl = provider.retrieveRequestToken(consumer, "http://mydomain.com/Netflix/");  
      System.out.println(authUrl); 

     } catch (OAuthMessageSignerException e) { 
      e.printStackTrace(); 
     } catch (OAuthNotAuthorizedException e) { 
      e.printStackTrace(); 
     } catch (OAuthExpectationFailedException e) { 
      e.printStackTrace(); 
     } catch (OAuthCommunicationException e) { 
      e.printStackTrace(); 
      System.out.println(e.getResponseBody()); 
     } 

    } 
} 
+0

시스템 시간이 NTP 서버에 동기화되어 있는지 확인하십시오. 내 시스템 시간이 지나치게 동기화되지 않아 Netflix에서 OAuth 요청을 거부하는 문제가 발생했습니다. –

+0

내 systime이 동기화되었습니다. – Vjy

답변

0
if (connection.getRequestMethod().equalsIgnoreCase("POST")) { 
     connection.setRequestProperty("Content-Type", 
       "application/x-www-form-urlencoded"); 
     connection.setDoOutput(true); 
     DataOutputStream wr = new DataOutputStream(
       connection.getOutputStream()); 
     wr.writeBytes(""); 
     wr.flush(); 
     wr.close(); 
    } else { 
     connection.connect(); 
    } 

은 위의 DefaultOAuthProvider 클래스의있는 sendRequest 변경. 서버가 엄격한 것 같고 POST 할 때 약간의 바이트를 기대합니다.

관련 문제