2013-01-12 2 views
2

내가 YouTube 동영상의 목록을 가져 오기 하고자하는 응용 프로그램을 쓰고 있어요, 나는 아래 링크와 같은 특정 사용자의 계정을 사용하여 그렇게 할 수 있어요 가져 오기 방법 :재생 목록 동영상을 fromYouTube

HttpUriRequest request = new HttpGet("http://gdata.youtube.com/feeds/api/users/GoogleDevelopers/uploads?v=2&alt=jsonc"); 

재생 목록을 사용하여 YouTube 동영상 목록을 가져 오려면 여기에서 코드를 변경해야합니다. 예를 들어 동영상을 가져올 사용자 이름이 필요 없습니다.

http://gdata.youtube.com/feeds/api/playlists/PL1D5B07DD840FB46D?v=2&alt=json 

원래 링크 :http://www.youtube.com/playlist?list=PL1D5B07DD840FB46D

내 코드 : 당신이 방법에 대한 Dave Chandlers blog 살펴 제안을 제외하고, 코드에 대해 언급하지 않을거야

public class GetYouTubeUserVideosTask implements Runnable { 

public static final String LIBRARY = "Library"; 
private final Handler replyTo; 
private final String username; 

public GetYouTubeUserVideosTask(Handler replyTo, String username) { 
    this.replyTo = replyTo; 
    this.username = username; 
} 

@Override 
public void run() { 
    try { 

     HttpClient client = new DefaultHttpClient(); 
     HttpUriRequest request = new HttpGet("http://gdata.youtube.com/feeds/api/playlists/PL1D5B07DD840FB46D?v=2&alt=json"); 
     HttpResponse response = client.execute(request); 
     String jsonString = StreamUtils.convertToString(response.getEntity().getContent()); 
     JSONObject json = new JSONObject(jsonString); 
     JSONArray jsonArray = json.getJSONObject("data").getJSONArray("items"); 
     List<Video> videos = new ArrayList<Video>(); 

     for (int i = 0; i < jsonArray.length(); i++) { 
      JSONObject jsonObject = jsonArray.getJSONObject(i); 
      String title = jsonObject.getString("title"); 
      String url; 
      try { 
       url = jsonObject.getJSONObject("player").getString("default"); 
      } catch (JSONException ignore) { 
       url = jsonObject.getJSONObject("player").getString("default"); 
      } 

      String thumbUrl = jsonObject.getJSONObject("thumbnail").getString("sqDefault"); 
      videos.add(new Video(title, url, thumbUrl)); 
     }  
     Library lib = new Library(username, videos); 

     Bundle data = new Bundle(); 
     data.putSerializable(LIBRARY, lib); 

     Message msg = Message.obtain(); 
     msg.setData(data); 
     replyTo.sendMessage(msg); 

    } catch (ClientProtocolException e) { 
     Log.e("Feck", e); 
    } catch (IOException e) { 
     Log.e("Feck", e); 
    } catch (JSONException e) { 
     Log.e("Feck", e); 
    } 
} 
    } 

답변

1

당신은 재생 목록을 얻기 위해 새 YouTube 데이터 API V3를 사용할 수 있습니다

나는 그것은 URL을 제안 귀하의 예제를 사용하여 jsonc formatinteractive demo과를 사용하려면 이 튜토리얼은 내가 썼다 (스페인어로 ..하지만 코드 변화를 볼 수있다.) :

http://fuse21.blogspot.com.ar/2013/01/utilizando-youtube-data-api-v3-desde.html

나는 공식 샘플 "작업 - 안드로이드 샘플"로 변경하는 방법을 보여

http://code.google.com/p/google-api-java-client/source/browse/tasks-android-sample/?repo=samples

이 작업 API 대신 유튜브 데이터 API를 사용 할 수 있습니다.

1

내 프로젝트에서 YouTube 계정의 모든 동영상을 표시하고 동영상보기로 표시했습니다.

youtube 채널 (계정)에서 비디오를 재생하려면 비디오의 rtsp URL을 가져오고 싶습니다.

this example을 따라 가면 완벽한 아이디어를 얻을 수 있습니다.

My answer도 참조하십시오.

관련 문제