使用OAuth令牌观看Vimeo私人视频

任何人都可以使用scribe在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. 根据Brad Dougherty(Vimeo API员工)的说法,有可能做这样的事情

    如果您以自己身份完成 OAuth 过程,则可以保存该令牌并使用它来进行调用。

我正在使用这个代码:

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 未经授权 - 签名无效 - 传递oauth_signature无效。

是什么在逃避我?这是正确的方法,对吧?


答案 1

保持视频私密的另一种方法是在“隐私/设置”中更改“仅具有密码的人”选项,以“从 Vimeo.com 隐藏此视频”“仅在我选择的网站上”。

您可能会从中受益的原因是您可以控制可以嵌入视频的网站。您甚至可以在应用程序上使用普通的iframe嵌入,如果您想要在网站上而不是其他地方显示您的视频,则可以跳过整个API调用。但是,如果您仍然需要通过API进行调用,至少您没有密码问题。

这不会直接回答您的问题,而是解决问题的另一种方法。


答案 2

首先要注意发布视频所需的权限,因此在尝试对其进行autenticing之前。第二个想法是将所有内容存储在内存或本地存储中。您可以向其插入属性以直接启动视频


推荐