2012-09-28 24 views
42

Czy ktoś może pomóc w Vimeo API przy pomocy skrybów? Moim celem jest uzyskanie dostępu do prywatnego filmu wideo (który przesłałem) bez zmuszania użytkownika do podania hasła (proces ten powinien zostać wykonany w tle).Zobacz prywatne wideo Vimeo z tokenem OAuth

Z tego co rozumiem/wywnioskować z badań jest konieczne:

  1. Wniosek o dopuszczenie do aplikacji za pomocą protokołu OAuth i za pośrednictwem poniższego linku:

    https://vimeo.com/oauth/authorize?oauth_token=XXXX

    Ta operacja jest wykonywana skutecznie i dane odpowiedzi są wysyłane na adres zwrotny URL, coś takiego:

    http://127.0.0.1:8001/XPTO.html?oauth_token=AUTH_TOKEN_EXAMPLE&oauth_verifier=VERIFIIER__EXAMPLE"

  2. According to Brad Dougherty (Vimeo API Staff) możliwe jest, zrobić coś takiego

    If you go through the OAuth process as yourself, you can save that token and use that to make the calls.

używam tego kodu:

service = new ServiceBuilder().provider(VimeoApi.class) 
       .apiKey("API_KEY_EXAMPLE") 
       .apiSecret("API_SECRET_EXAMPLE") 
       .build(); 

OAuthRequest request = new OAuthRequest(Verb.GET, 
     "http://vimeo.com/api/rest/v2?video_id=50305416"); 

request.addQuerystringParameter("format", "json"); 
request.addQuerystringParameter("method", "vimeo.videos.getInfo"); 

String oauth_verifier=VERIFIER__EXAMPLE; 
Verifier verifier = new Verifier(oauth_verifier); 

//I've tried differents combination to create this token 
//I believe that my problem is HERE 
//One unsuccessfully try: Token requestToken = service.getRequestToken(); 
Token requestToken = new Token(
     AUTH_TOKEN_EXAMPLE, 
     API_SECRET_EXAMPLE); 

Token token = service.getAccessToken(requestToken, verifier); 

service.signRequest(token, request); 
Response response = request.send(); 

Mam następujące dane błąd:

Response body is incorrect. Can't extract token and secret from this: '401 Unauthorized - Invalid signature - The oauth_signature passed was not valid.'

Co mi ucieka? To jest właściwy sposób, prawda?

+3

Nie możesz sam utworzyć elementu RequestToken. * Musisz * używać 'service.getRequestToken()' –

+0

Ok Pablo, teraz mogę przenieść, zrób prośbę =) Czy możesz mi pomóc z drugą częścią pytania? Nie chcę, aby użytkownik wprowadził hasło (jest to aplikacja internetowa dla kilku użytkowników) ... aby uzyskać token uwierzytelniania (https://vimeo.com/oauth/authorize?oauth_token=XXXX), użytkownik musi być login :(jak mogę tego uniknąć? A ponieważ nie mogę użyć prostego interfejsu API Vimeo do pobrania prywatnego wideo (coś jak http://vimeo.com/api/rest/v2?video_id=50305416) ... jak mogę uzyskać wideo z wyprzedzeniem wideo (nie miałem podobnej metody =() Tks. – JMarques

+0

Już rozwiązałem moje pierwsze pytanie (http://stackoverflow.com/questions/12672181/vimeo-api-authorizationurl-without-login) =) Jedynym krokiem, który oddziela mnie od nieba i piekła, jest ...jak do cholery mam prywatny film? – JMarques

Odpowiedz

-1

Najpierw zwróć uwagę na pozwolenie na publikowanie filmów, zanim zaczniesz je uwierzytelniać. Po drugie, należy przechowywać wszystko w pamięci lub pamięci lokalnej. Można wstawić własności do niego, aby uruchomić wideo bezpośrednio

1

Innym sposobem na utrzymanie film jako prywatny jest zmiana w „Prywatność/Ustawienia” opcję Tylko ludzie z hasłem, aby „Hide ten film z Vimeo.com " i " Tylko na stronach, które wybieram ".

Powodem, dla którego możesz skorzystać z tego jest fakt, że masz kontrolę nad witrynami, które mogą osadzać wideo. Możesz nawet użyć normalnego elementu iframe w swojej aplikacji i pominąć całe wywołanie interfejsu API, jeśli chcesz pokazać wideo w swojej witrynie i nigdzie indziej. Ale jeśli nadal potrzebujesz połączenia za pośrednictwem interfejsu API, przynajmniej nie masz problemu z hasłem.

To nie odpowiada bezpośrednio na twoje pytanie, ale jest alternatywnym podejściem do rozwiązania problemu.