2012-09-28 23 views
42

¿Alguien puede ayudar con la API de Vimeo con Scribe? Mi objetivo es acceder a un video privado (que cargué) sin tener que forzar al usuario a poner la contraseña (este proceso debe realizarse en segundo plano).Ver video privado de Vimeo con un token de OAuth

Por lo que entiendo/deducir de la investigación es necesaria:

  1. Solicitud de autorización de la aplicación utilizando el protocolo OAuth y a través del siguiente enlace:

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

    Esta operación se lleva a cabo con éxito y los datos de respuesta se envían a la URL de devolución de llamada, algo así como:

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

  2. According to Brad Dougherty (Vimeo Personal API) Está posible hacer algo así

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

Estoy usando este código:

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

He lo siguiente error:

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

¿Qué me está escapando? Esta es la forma correcta de hacerlo, ¿verdad?

+3

No puede crear el RequestToken usted mismo. * Debes * usar 'service.getRequestToken()' –

+0

Ok Pablo, ahora puedo mover una solicitud =) ¿Puedes ayudarme con la segunda parte de la pregunta? No quiero que el usuario ponga la contraseña (es una aplicación web para varios usuarios) ... para obtener el token de autenticación (https://vimeo.com/oauth/authorize?oauth_token=XXXX) el usuario debe estar login :(¿Cómo puedo evitar esto? Y dado que no puedo usar la API de Simple Vimeo para recuperar un video privado (algo así como http://vimeo.com/api/rest/v2?video_id=50305416) ... cómo puedo obtener el video con video avanzado (no hice un método similar =() Tks. – JMarques

+0

Ya resuelvo mi primera pregunta (http://stackoverflow.com/questions/12672181/vimeo-api-authorizationurl-without-login) =) El único paso que me separa entre el cielo y el infierno es ...¿cómo diablos puedo obtener un video privado? – JMarques

Respuesta

-1

Primero preste atención al permiso que necesita para publicar videos, por lo tanto, antes de tratar de autenticarlos. Segundo pensar es almacenar todo en una memoria o almacenamiento local. Puede insertar propiedades a él para iniciar el vídeo directamente

1

Otra forma de mantener la confidencialidad de su vídeo es a cambiar en los "Privacidad/Configuración" la opción Sólo las personas con una contraseña, a "Ocultar el vídeo de Vimeo.com " y " Solo en los sitios que elijo ".

La razón por la que puede beneficiarse de esto es porque tiene control sobre los sitios que pueden incrustar el video. Incluso podría usar un incrustación iframe normal en su aplicación y omitir toda la llamada API si lo que desea es mostrar su video en su sitio y en ninguna otra parte. Pero si aún necesita hacer la llamada a través de la API, al menos no tiene el problema de la contraseña.

Esto no responde su pregunta directamente, pero es un enfoque alternativo para resolver el problema.

Cuestiones relacionadas