60

任何人都可以使用 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 Unauthorized - Invalid signature - 传递的 oauth_signature 无效。'

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

4

2 回答 2

1

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

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

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

于 2015-09-21T02:09:30.137 回答
0

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

于 2014-10-01T15:38:35.417 回答