2016-05-29 39 views
0

私は自分のアプリ開発に取り掛かっています。私はYouTubeリストで再生リストIDを取得しようとしています(私は再生リストを探しています)。私はYouTubeのAPIサイトを見ていて、テストサイトにはプレイリストIDが付属しています。私のアプリケーションでは、私は同じことを行うが、私はIDを取得しない、または私は反復コード上の私の "アイテム"に見ていないよ。検索で再生リストIDを取得する方法:リスト(再生リストタイプ)

現在、ビデオIDを検索していて、正しくありません。私はこれまでに試したことがあります:

item.id 
item.getId().getPlaylistId() 
item.getId().playlistId 

でも全部の項目があります。

私はあなたに私の非同期タスクコードを聞かせて:

SearchListResponse searchResponse; 
    try { 
     YouTube.Search.List search = mYouTubeDataApi.search().list("id,snippet"); 

     search.setKey(ApiKey.YOUTUBE_API_KEY); 
     search.setQ(mTitle); 

     search.setType("playlist"); 

     search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)"); 
     search.setMaxResults(YOUTUBE_PLAYLIST_MAX_RESULTS); 
     searchResponse = search.execute(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return null; 
    } 

    if (searchResponse == null) { 
     Log.e(TAG, "Failed to get playlist"); 
     return null; 
    } 

    ArrayList videoIds = new ArrayList(); 

    for (SearchResult item : searchResponse.getItems()) { 
     //this is what i was talking about. My search result item 
     //is not showing me any playlist id 
     videoIds.add(item.getId().getVideoId()); 
    } 

答えて

0

私はすでに自分のコードに注意を払って考え出しています。

受信したデータは、フィールドでsettedされています

search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");

私は私の検索のID/playlistIdがありませんでしたので、私はそれを追加しました: search.setFields("items(id/kind,id/videoId,id/playlistId,snippet/title,snippet/thumbnails/default/url)");

今、私は私を取得していますプレイリストID(と私が必要としなかった他の多くの情報)。

0

あなたが正しいです。プレイリストのリストを取得する最善の方法は、search.listリクエストを使用することです。 qパラメータの場合、type=playlistとビデオのタイトルを指定する必要があります。

Search:listあなたのリクエストで指定されたクエリパラメータと一致する結果が得られます。特定の種類のリソースのみを取得するようにクエリを構成することもできます。

動画のタイトルが十分でない場合は、再生リストが表示されないことがあります。

https://www.googleapis.com/youtube/v3/search?part=snippet&q=VIDEO_TITLE_HERE&type=playlist&key=API_KEY_HERE 
+0

こんにちは!私は現在プレイリストのリストを取得していますが、検索で各SearchResultのプレイリストIDを取得することはできません。私はタイプ=ビデオを使用する場合、私はビデオIDを取得するための問題はない たぶんこれと関係がある? 'YouTube.Search.List search = mYouTubeDataApi.search()。リスト(" id、snippet "); またはこれですか?: ' search.setFields( "items(id/kind、id/videoId、snippet /タイトル、スニペット/サムネイル/デフォルト/ URL) "); ' あなたの答えをありがとう! – emboole

関連する問題