如何通过YouTube API检索自己的私人播放列表?

时间:2012-10-05 01:24:38

标签: youtube-api

我正试图找到一种方法从YouTube上检索我自己的私人播放列表,以便在我自己的个人网站上显示。到目前为止,所有文档似乎都表示检索私人用户数据(如私人播放列表)要求您网站的用户通过身份验证过程,以便提供他们自己的身份验证。

在我的情况下,我不希望我的用户进行身份验证,我希望我的网站我自己的帐户进行身份验证每次访问Youtube Data API时,都要检索我自己的私人播放列表。

这可能吗?如果我可以为自己的帐户保存身份验证令牌,我认为这可能是可行的,但显然是令牌changes?什么是我应该为自己的帐户获取初始授权令牌的最合适的方法?

2 个答案:

答案 0 :(得分:2)

您可以浏览一下OAuth 2 for Installed Applications流程,并生成并保存刷新令牌。然后,只要需要代表您进行API调用,您的服务器端代码就可以使用刷新令牌获取有效的访问令牌。如果您正确编码,这可能会对您网站的访问者完全隐藏。

答案 1 :(得分:-1)

Credential credential = getCredentials();
    youTube = new YouTube.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).setApplicationName("Playlist Web App").build();         
    YouTube.Playlists.List  searchList = youTube.playlists().list("id,snippet,contentDetails");     
    searchList.setFields("etag,eventId,items(contentDetails,etag,id,kind,player,snippet,status),kind,nextPageToken,pageInfo,prevPageToken,tokenPagination");
searchList.setMine(true);
searchList.setMaxResults((long) 10);
PlaylistListResponse playListResponse = searchList.execute();
List<Playlist> playlists = playListResponse.getItems();

   if (playlists != null) {
        Iterator<Playlist> iteratorPlaylistResults = playlists.iterator();
                        if (!iteratorPlaylistResults.hasNext()) {
                            System.out.println(" There aren't any results for your query.");
                        }    
                        while (iteratorPlaylistResults.hasNext()) {    
                            Playlist playlist = iteratorPlaylistResults.next();


                                System.out.println(" Playlist Id : " + playlist.getId());
                                System.out.println(" Title: " + playlist.getSnippet().getTitle());

                        }
                    }