使用YoutubeAndroidPlayerAPI中的YoutubePlayerView播放私人YouTube视频?

时间:2015-04-01 09:51:41

标签: android youtube youtube-api

我一个月前开始使用Android API for Android。我正在尝试制作一个可以播放一些视频的Android应用程序,其中包括我上传的视频。通过公共视频,它可以工作。但是通过私人视频,YoutubePlayerView显示:“请登录”。

我无法弄清楚如何登录播放这些视频,因为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) {

        }
    });
}

1 个答案:

答案 0 :(得分:5)

使用Android Player API无法做到这一点。在设备上播放私有视频的唯一方法是在您的应用中实施WebView,让用户登录其YouTube帐户,然后在仅限特定浏览器会话中播放私有视频。 YouTube建议将视频标记为“不公开”而不是“私有”,以便在移动设备上播放。

this Google Groups post中有关使用嵌入式播放器播放私有视频的详细信息。

  

在嵌入式播放器中播放私有视频只会在以下情况下有效   您的浏览器中有一个YouTube登录Cookie,对应于   允许观看该视频的帐户。否则,它会   失败。使用Data API进行身份验证与是否无关   您可以在嵌入式播放器中播放视频。

     

...

     

没有以编程方式创建登录cookie。用户   实际上必须使用相同的浏览器实例登录YouTube.com   那是使用嵌入,而且不能编写脚本。