2012-01-23 139 views
1

我想在列表視圖中顯示某個YouTube頻道的視頻,並允許用戶選擇其中一個視頻觀看。是否有任何Json數據可用於此?如何獲取用戶的YouTube視頻

EDIT

JSONObject json = JSONfunctions.getJSONfromURL("http://gdata.youtube.com/feeds/api/videos? 
        author=NationalGeographic&v=2&alt=json");  

try{ 
    JSONArray earthquakes = json.getJSONArray("feed");  
    for(int i=0;i<earthquakes.length();i++){      
      HashMap<String, String> map = new HashMap<String, String>();  
      JSONObject e = earthquakes.getJSONObject(i); 

      map.put("id", String.valueOf(i)); 
      map.put("name", "Earthquake name:" + e.getString("eqid")); 
      map.put("magnitude", "Magnitude: " + e.getString("magnitude")); 
      mylist.add(map);    
     }  
    }catch(JSONException e)  { 
     Log.e("log_tag", "Error parsing data "+e.toString()); 
    } 

我有權限和鏈接選項卡中的工作,我得到空指針誤差@JSONArray地震= json.getJSONArray( 「進料」);

+0

首先,您使用的是錯誤的URL。請參閱我的回答。 –

回答

1

你會打下面的網址,與用戶在替換USERNAME問題:

http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?v=2&alt=jsonc

您可以測試電話here

編輯

如果您正在尋找國家地理,打網址是:

http://gdata.youtube.com/feeds/api/users/NationalGeographic/uploads?v=2&alt=jsonc

你會發現視頻的網址是這樣的:

JSONObject json = JSONfunctions.getJSONfromURL("http://gdata.youtube.com/feeds/api/users/NationalGeographic/uploads?v=2&alt=jsonc");  
final JSONObject data = json.getJSONObject("data"); 
final JSONArray array = data.getJSONArray("items"); 
for (int i = 0; i < array.length(); i++) { 
    final JSONObject item = array.getJSONObject(i); 
    final JSONObject player = item.getJSONObject("player"); 
    final String url = player.getString("default")); 
    // The url is that of the video to be played 
} 

爲簡潔起見,省略了/ catch代碼。

+0

什麼是json對象獲取視頻 –

+0

請看我更新的答案。 –

+0

它解決了這個問題......非常感謝您...... –