6

Java Web アプリケーションから YouTube に動画をアップロードしたい: 動画をアップロードするために、(サーバー側で) authToken と form-action を受け取りたい。

  • 新しい Google/YouTube アカウントを作成しました
  • アカウントに YouTube チャンネルを作成しました
  • Google コンソール API で新しいプロジェクトをサービス アカウントとして作成しました

今、oAuth 2.0 でコードを実装しようとしています。私は accessToken を取得しましたが、サービス getFormUploadToken(url, object) を呼び出そうとすると、応答は常に同じ " NoLinkedYoutubeAccount エラー 401 " になります。

Google サポート ページhttp://www.youtube.com/my_account_unlinkでもアカウントを確認しましたが、問題ないようです。

誰かがこの問題について考えを持っていますか?

これは私のコードです:

    HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
    JsonFactory JSON_FACTORY = new JacksonFactory();
    String accessToken = "";
    GoogleCredential credential = null;


    credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
            .setJsonFactory(JSON_FACTORY)
            .setServiceAccountId(CLIENT_EMAIL)
            .setServiceAccountScopes("http://gdata.youtube.com")
            .setServiceAccountPrivateKeyFromP12File(new File(PRIVATE_KEY_PATH))
            .build();
    credential.refreshToken();
    accessToken = credential.getAccessToken();


    YouTubeService service = new YouTubeService(CLIENT_ID, DEV_KEY);
    service.setAuthSubToken(accessToken, null);
    VideoEntry newEntry = new YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup();
    mg.setTitle(new MediaTitle());
    mg.getTitle().setPlainTextContent("My Test Movie");

    URL uploadUrl = new URL("http://gdata.youtube.com/action/GetUploadToken");
    FormUploadToken token = service.getFormUploadToken(uploadUrl, newEntry);

どうもありがとう、アルバートIII世

4

3 に答える 3

4

エラーが示すように、アカウント資格情報を youtube にリンクしていません。

あなたはその問題を解決することができます: - www.youtube.com のアプリで使用されているアカウントと接続します - 動画をアップロードしようとしています - YouTube が要求するときに名前と姓を設定し、gmail にリンクする処理を行います。

終わり!!!アプリを使用する前に、Firefox を使用して動画をアップロードしようとしました。

于 2013-03-26T16:58:41.640 に答える
3

YouTube チャンネルをサービス アカウントに関連付けることができず、サービス アカウントのコンテキストでアップロードしようとしています。

サービス アカウントを使用する代わりに、OAuth 2 フローを実行し、実際にアップロードするアカウントを使用してブラウザーにログインしている間にアクセスを承認する必要があります。

サービス アカウントを使用する利点は理解していますが、現時点では YouTube はサービス アカウントを使用するように設定されていません。

于 2012-12-06T20:38:22.333 に答える
2

YouTube アカウントを作成し、Google アカウントにリンクしている場合は、YouTube に独自のチャンネルを作成してください。

これにより、API が作成したチャンネルに動画をアップロードできるようになります。

それが役に立てば幸い。

于 2013-03-08T07:46:53.863 に答える