2015-04-01 176 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