2012-09-28 18 views
42

Qualcuno può dare un aiuto nell'API di Vimeo usando lo scribe? Il mio obiettivo è accedere a un video privato (che ho caricato) senza dover forzare l'utente a inserire la password (questo processo dovrebbe essere eseguito in background).Visualizza video privato Vimeo con un token OAuth

Da quello che ho capito/dedurre dalla ricerca è necessaria:

  1. Richiesta di autorizzazione applicazione utilizzando il protocollo OAuth e tramite il seguente link:

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

    Questa operazione viene eseguita con successo e i dati di risposta vengono inviati all'URL di richiamata, , ad esempio:

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

  2. According to Brad Dougherty (Vimeo API Personale) E'possibile fare qualcosa di simile

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

sto usando questo codice:

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

ho il seguente errore:

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

Cosa mi sfugge? Questo è il modo corretto per farlo, giusto?

+3

Non è possibile creare personalmente il RequestToken. Tu * devi * usare 'service.getRequestToken()' –

+0

Ok Pablo, ora posso spostare effettuare una richiesta =) Puoi aiutarmi con la seconda parte della domanda? Non voglio che l'utente inserisca la password (è un'app Web per più utenti) ... per ottenere il token di autenticazione (https://vimeo.com/oauth/authorize?oauth_token=XXXX) l'utente deve essere login :(come posso evitare questo? E dal momento che non posso usare l'API Simple Vimeo per recuperare un video privato (qualcosa come http://vimeo.com/api/rest/v2?video_id=50305416) ... come posso ottenere il video con video avanzato (non ho un metodo simile =() Tks. – JMarques

+0

Ho già risolto la mia prima domanda (http://stackoverflow.com/questions/12672181/vimeo-api-authorizationurl-without-login) =) L'unico passaggio che mi separa tra paradiso e inferno è ...come diavolo posso avere un video privato? – JMarques

risposta

-1

Prima di prestare attenzione al permesso necessario per convertire i video, quindi prima di provare ad autenticarli. In secondo luogo, è necessario archiviare tutto in una memoria o in una memoria locale. È possibile inserire le proprietà ad esso per avviare il video direttamente

1

Un altro modo di mantenere il video privato è quello di cambiare nei "Privacy/Impostazioni" l'opzione Solo le persone con una password, a "Nascondi questo video da Vimeo.com " e " Solo sui siti che scelgo ".

Il motivo per cui potresti trarre vantaggio è che hai il controllo sui siti che possono incorporare il video. Potresti anche utilizzare un iframe normale incorporato nella tua app e saltare l'intera chiamata API se ciò che desideri è mostrare il tuo video sul tuo sito e da nessun'altra parte. Ma se hai ancora bisogno di effettuare la chiamata tramite l'API, almeno non hai il problema con la password.

Questo non risponde alla domanda direttamente, ma rappresenta un approccio alternativo alla risoluzione del problema.

Problemi correlati