2015-04-01 175 views
4

我一个月前开始使用Android版YouTube API。我试图制作一个Android应用程序,可以播放一些包含我上传的视频的视频。通过公开视频,它可以工作。但对于私人视频,YoutubePlayerView显示:“请登录”。使用YoutubeAndroidPlayerAPI的YoutubePlayerView播放私人YouTube视频?

在我无法弄清楚如何符号和播放这些视频因为YoutubeAndroidPlayerAPI似乎不支持验证。

这就是我在做的“JurB9k3_Ws4”是我的私人视频ID。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.playerview_demo); 

    YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 
    youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, new YouTubePlayer.OnInitializedListener() { 

     @Override 
     public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, 
              boolean b) { 
      youTubePlayer.cueVideo("JurB9k3_Ws4"); 
     } 

     @Override 
     public void onInitializationFailure(YouTubePlayer.Provider provider, 
              YouTubeInitializationResult youTubeInitializationResult) { 

     } 
    }); 
} 

回答

5

这不适用于Android播放器API。在设备上播放私人视频的唯一方法是在您的应用中实施WebView,让用户登录他们的YouTube帐户,然后播放中的私人视频,该视频只在的特定浏览器会话中播放。 YouTube建议将视频标记为不公开,而不是专用于在移动设备上播放。

有关使用嵌入式播放器播放私人视频的更多信息,请参阅this Google Groups post

在嵌入式播放器播放的私人视频,如果你 在浏览器中的YouTube登录cookie对应于被设定的权限观看该视频的 帐户只会工作。否则,将会失败 。使用Data API进行身份验证与您是否可以在嵌入式播放器中播放视频 无关。

...

没有编程方式来创建登录cookie。用户 实际上必须使用使用嵌入的相同浏览器实例 登录到YouTube.com,并且该脚本无法编写脚本。

+0

非常感谢,你救了我的一天。无论如何,Google为什么不提供我们使用PlayerAPI进行身份验证的方法?在Android应用程序中使用WebView只是为了播放YouTube视频( – kid9591 2015-04-07 08:01:21

+0

@ user1992438),这很奇怪,我不知道他们为什么不提供这种“基本”功能,我会直接联系YouTube并表达您的关注。开发人员想要相同的功能,他们可能会实现它。 – JAL 2015-04-08 17:02:54

+0

谢谢JAL。我希望有一天能看到这个有用的功能。 – kid9591 2015-04-13 15:37:10