2012-12-05 19 views
6

私はJava WebアプリケーションからYouTubeに動画をアップロードしたいと考えています: 私はauthTokenとフォームアクションを受け取ってビデオをアップロードします。NoLinkedYoutubeAccountエラー401動画をYoutubeにアップロードするときに

  • 私は新しいGoogleを作成しました/ユーチューブは、私が
  • iがサービスアカウントとして私のGoogleのコンソールAPIの新しいプロジェクトを作成したアカウントがユーチューブチャンネルを作成しました
  • アカウント

今私はoAuth 2.0で自分のコードを実装しようとしています。 私はaccessTokenを持っていますが、サービスgetFormUploadToken(URL、オブジェクト)を呼び出そうとすると、応答は常に "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

答えて

3

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

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

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

+0

こんにちはジェフ、 お返事ありがとうございます! 自分のサイトにログオンしているユーザーが自分のチャンネルに動画をアップロードできるようにします。 可能ですか? ありがとうございました Albert III –

+0

あなたが提案したものが良い考えでない理由については、http://apiblog.youtube.com/2012/02/video-uploads-from-your-sites-community.htmlを参照してください。 –

2

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

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

希望します。

4

エラーとして、アカウントの資格情報をyoutubeにリンクしていません。

あなたはその問題解決することができます: - www.youtube.com でアプリに使用したアカウントとの接続を - ユーチューブが尋ねるときに名前と姓を設定し、Gmailにリンクするプロセス - ビデオ をアップロードしようとしています。

完了! Firefoxを使用してビデオをアップロードする前にアプリを使用しようとしました。

関連する問題