2017-03-01 2 views
0

scribejava에서 Vimeo API에 액세스하려고합니다. 이 오류가 발생합니다.토큰과 암호를 추출 할 수 없습니다 : '401 Unauthorized - Invalid sign

스레드 "main"의 예외 com.github.scribejava.core.exceptions.OAuthException : 응답 본문이 잘못되었습니다. 토큰과 암호를 추출 할 수 없습니다. '401 Unauthorized - Invalid signature - 전달 된 oauth_signature가 유효하지 않습니다. 이 코드의 조각입니다

scribejava의
private static final String PROTECTED_RESOURCE_URL = "http://vimeo.com/oauth/authorize?oauth_token=%s"; 

final OAuth10aService service = new ServiceBuilder() 
      .apiKey(myApiKey) 
      .apiSecret(myapiSecret) 
      .callback("http://fesal.hostkda.com/5-youtube-video/") 
      .build(VimeoApi.instance()); 

    final OAuth1RequestToken requestToken = service.getRequestToken(); 


    // Trade the Request Token and Verfier for the Access Token 
    final OAuth1AccessToken accessToken = service.getAccessToken(requestToken, oauthVerifier); 

    // Now let's go and ask for a protected resource! 
    final OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL); 
    service.signRequest(accessToken, request); 
    final Response response = service.execute(request); 
    System.out.println(response.getBody()); 

virsion : 4.0.0

학자의 원인 메오 API를 지원하지 않는, 내가 정의 하나 만들었다 :

public class VimeoApi extends DefaultApi10a { 
private static final String AUTHORIZATION_URL = "https://api.vimeo.com/oauth/authorize"; 

private static class InstanceHolder { 

    private static final VimeoApi INSTANCE = new VimeoApi(); 
} 

public static VimeoApi instance() { 
    return InstanceHolder.INSTANCE; 
} 

@Override 
public String getAccessTokenEndpoint() { 
    return "http://vimeo.com/oauth/access_token"; 
} 

@Override 
public String getRequestTokenEndpoint() { 
    return "http://vimeo.com/oauth/request_token"; 
} 

@Override 
public String getAuthorizationUrl(OAuth1RequestToken requestToken) { 
    return String.format(AUTHORIZATION_URL, requestToken.getToken()); 
}} 
:이 코드

저는 도움을받을 의향이 있습니다

답변

관련 문제