Просмотр частного видео Vimeo с токеном OAuth

Может ли кто-нибудь помочь в Vimeo API с помощью писца? Моя цель - получить доступ к частному видео (которое я загрузил) без необходимости заставлять пользователя вводить пароль (этот процесс должен выполняться в фоновом режиме).

Из того, что я понимаю / вывод из исследования необходимо:

  1. Запрос на авторизацию приложения по протоколу oAuth и по следующей ссылке:

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

    Эта операция выполняется успешно, и данные ответа отправляются на URL-адрес обратного вызова, например:

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

  2. # P5 #
    # P6 #

Я использую этот код:

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

Произошла следующая ошибка:

Тело ответа неверно. Невозможно извлечь токен и секрет из этого: «401 Unauthorized - Invalid signature - переданная oauth_signature недействительна».

Что от меня ускользает? Это правильный способ сделать это, верно?


person JMarques    schedule 28.09.2012    source источник
comment
Вы не можете создать RequestToken самостоятельно. Вы должны использовать service.getRequestToken()   -  person Pablo Fernandez    schedule 29.09.2012
comment
Хорошо, Пабло, теперь я могу переехать, сделайте запрос =) Вы можете мне помочь со второй частью вопроса? Я не хочу, чтобы пользователь вводил пароль (это веб-приложение для нескольких пользователей) ... чтобы получить токен аутентификации (vimeo.com/oauth/authorize?oauth_token=XXXX) пользователь должен войти в систему :( как я могу этого избежать? И поскольку я не могу использовать Simple Vimeo API для получения частное видео (что-то вроде vimeo.com/api/rest/v2?video_id=50305416) ... как я могу получить видео с предварительным видео (у меня не было аналогичного метода = () Tks.   -  person JMarques    schedule 01.10.2012
comment
Я уже решил свой первый вопрос (stackoverflow.com/questions/ 12672181 /) =) Единственный шаг, разделяющий меня между раем и адом, это ... как, черт возьми, мне получить приватное видео?   -  person JMarques    schedule 02.10.2012
comment
@JMarques Я тоже столкнулся с той же проблемой. Если вы каким-то образом решите эту вторую часть, пожалуйста, помогите и мне.   -  person Arun Kumar    schedule 11.07.2013
comment
Вы можете сохранить токен oauth где-нибудь в своем приложении (файл конфигурации или в памяти), и каждый раз, когда любой пользователь делает запрос на просмотр частного видео, автоматически отправляйте токен. Предполагается, что срок действия токена, который Vimeo дает вам сначала, не истекает. Если он истекает - вы можете запустить процесс в фоновом режиме, который получает новый токен (возможно, с учетной записью, настроенной только для приложения) и использует новый токен.   -  person TR1    schedule 14.02.2014
comment
Чтобы получить частные видео, вам необходимо пройти аутентификацию и назначить разрешения на чтение. Я думаю, что это параметр x_auth_permission   -  person davidcondrey    schedule 07.09.2014


Ответы (2)


Другой способ сохранить конфиденциальность вашего видео - изменить в «Конфиденциальность / Настройки» параметр Только люди с паролем на «Скрыть это видео из Vimeo. com " и " Только на сайтах, которые я выбираю ".

Причина, по которой вы можете получить от этого выгоду, заключается в том, что у вас есть контроль над сайтами, на которых можно встраивать видео. Вы даже можете использовать обычный iframe, встроенный в свое приложение, и пропустить весь вызов API, если вы хотите, чтобы ваше видео отображалось на своем сайте и нигде больше. Но если вам все равно нужно позвонить через API, по крайней мере, у вас нет проблемы с паролем.

Это не дает прямого ответа на ваш вопрос, но представляет собой альтернативный подход к решению проблемы.

person 1cgonza    schedule 21.09.2015

Сначала обратите внимание на разрешение, необходимое для публикации видео, поэтому прежде чем пытаться их аутентифицировать. Вторая мысль - хранить все в памяти или локальном хранилище. Вы можете вставить в него свойства, чтобы сразу запустить видео

person pp94    schedule 01.10.2014