2012-09-28 34 views
42

Có ai có thể giúp đỡ trong Vimeo API bằng cách sử dụng ghi chép không? Mục tiêu của tôi là truy cập một video riêng tư (mà tôi đã tải lên) mà không phải buộc người dùng phải đặt mật khẩu (quá trình này nên được thực hiện ở chế độ nền).Xem video riêng tư của Vimeo bằng mã thông báo OAuth

Từ những gì tôi hiểu/suy ra từ nghiên cứu là cần thiết:

  1. Yêu cầu cho phép ứng dụng sử dụng giao thức OAuth và thông qua liên kết sau:

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

    Thao tác này được thực hiện thành công và dữ liệu phản hồi được gửi đến URL gọi lại, nội dung nào đó như:

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

  2. According to Brad Dougherty (Vimeo Staff API) Nó rất có thể làm điều gì đó như thế

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

Tôi đang sử dụng mã này:

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

tôi như sau lỗi:

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

Điều gì khiến tôi thoát? Đây là cách chính xác để làm điều đó, phải không?

+3

Bạn không thể tự tạo RequestToken. Bạn * phải * sử dụng 'service.getRequestToken()' –

+0

Ok Pablo, bây giờ tôi có thể di chuyển thực hiện một yêu cầu =) Bạn có thể giúp tôi với phần thứ hai của câu hỏi không? Tôi không muốn người dùng đặt mật khẩu (đó là ứng dụng web cho nhiều người dùng) ... để nhận mã thông báo xác thực (https://vimeo.com/oauth/authorize?oauth_token=XXXX) người dùng phải đăng nhập :(làm thế nào tôi có thể tránh điều này? Và kể từ khi tôi không thể sử dụng API đơn giản Vimeo để lấy một video tư nhân (một cái gì đó như http://vimeo.com/api/rest/v2?video_id=50305416) ... làm thế nào tôi có thể tải video bằng video trước không (tôi không có phương thức tương tự =() Tks. – JMarques

+0

Tôi đã giải quyết câu hỏi đầu tiên của mình (http://stackoverflow.com/questions/12672181/vimeo-api-authorizationurl-without-login) =) Bước duy nhất ngăn cách tôi giữa thiên đường và địa ngục là ...làm cách nào để tôi nhận được một video riêng tư? – JMarques

Trả lời

-1

Chú ý đầu tiên về sự cho phép bạn cần để quảng cáo video, vì vậy trước khi thử xác thực chúng. Thứ hai nghĩ là để lưu trữ tất cả mọi thứ trong bộ nhớ hoặc lưu trữ cục bộ. Bạn có thể chèn các thuộc tính để nó để bắt đầu video trực tiếp

1

Một cách khác để giữ tin video của bạn là thay đổi trong "Privacy/Settings" tùy chọn Chỉ những người có mật khẩu, để "Ẩn video này từ Vimeo.com "" Chỉ trên các trang web tôi chọn ".

Lý do bạn có thể hưởng lợi từ việc này là bạn có quyền kiểm soát các trang web có thể nhúng video. Thậm chí bạn có thể sử dụng iframe bình thường được nhúng vào ứng dụng của mình và bỏ qua toàn bộ cuộc gọi API nếu những gì bạn muốn là hiển thị video của bạn trên trang web của bạn và không nơi nào khác. Nhưng nếu bạn vẫn cần thực hiện cuộc gọi thông qua API, ít nhất bạn không gặp phải vấn đề về mật khẩu.

Điều này không trả lời trực tiếp câu hỏi của bạn, nhưng là một cách tiếp cận khác để giải quyết vấn đề.

Các vấn đề liên quan