Невозможно извлечь токен и секрет из этого: '401 Unauthorized - Недействительная подпись

Я пытаюсь получить доступ к Vimeo API через scribejava. Я получаю эту ошибку.

Исключение в потоке "main" com.github.scribejava.core.exceptions.OAuthException: тело ответа неверно. Невозможно извлечь токен и секрет из этого: «401 Unauthorized - Invalid signature - переданная oauth_signature недействительна. это фрагмент кода

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());

вирус scribejava: 4.0.0

причина того, что писец не поддерживает vimeo 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());
}}

Я хочу получить от тебя помощь


person ÕMãř Ghazy    schedule 01.03.2017    source источник


Ответы (1)


OAuth 1 больше не поддерживается в Vimeo API. Вам необходимо использовать OAuth 2, как описано здесь: https://developer.vimeo.com/api/authentication

person Dashron    schedule 03.03.2017