60

スクライブを使用して 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 - The oauth_signature passed was not valid.」

何が私を逃れているのですか?これが正しい方法ですよね?

4

2 に答える 2

1

動画を非公開にするもう 1 つの方法は、[プライバシー / 設定]で [パスワードを知っている人のみ]オプションを [ Vimeo.com からこの動画を非表示にする]と[選択したサイトのみ] に変更することです。

これが役立つ理由は、ビデオを埋め込むことができるサイトを制御できるからです。アプリで通常の iframe 埋め込みを使用して、動画をサイトだけに表示したい場合は、API 呼び出し全体をスキップすることもできます。それでも API を介して呼び出しを行う必要がある場合は、少なくともパスワードの問題はありません。

これはあなたの質問に直接答えるものではありませんが、問題を解決するための代替アプローチです。

于 2015-09-21T02:09:30.137 に答える