[C#]使用 YouTube SDK for .NET
一、簡介
近日 Google 發佈了 YouTube SDK for .NET 提供 Visual Studio 2008 使用,此 SDK 包含 chm 格式的 Help 檔、使用協定、AuthSub 身分驗證的 ASP.NET 範例、使用 ResumableUploader 元件的 uploader 工具可非同步可靠地將視訊檔上傳等。
本文示範使用 YouTube SDK for .NET 來查詢自己帳戶 [已上傳影片] 資料。
二、前置作業
1. 連結至 http://code.google.com/p/google-gdata/downloads/list 下載 YouTube SDK。
2. 下載完成後,安裝 YouTube SDK,過程幾乎都是按 [Next] 所以省略。
3. 申請 developer key and client ID,連結到 Google accunts
填寫資料,勾選 [I agree to the Trems of Service above],按 [Register]
輸入 Name,按 [New Product],取得 Developer key
4. 執行 Visual Studio 2008 並開啟新的專案,並將 YouTube API 加入參考
三、撰寫程式
撰寫程式,主要功能為
(1) 查詢 [已上傳的影片],依據 [觀看次數] 進行排序與顯示
(2) 查詢 [已上傳的影片],透過 Linq 取得 [觀看次數] 大於 150 的影片
1. Using YouTube 參考
using Google.YouTube;
using Google.GData.YouTube;
using Google.GData.Client;
2. 在表單中加入兩個 ListBox,Name : lbDefaultUploads、lbDefaultUploadsFilter,一個 Button,Name : btnGet
3. 主要程式碼
private void btnGet_Click(object sender, EventArgs e)
{
// string pDeveloperKey = Developer Key
// string pUserName = User Name
// string pPassword = PassWord
YouTubeRequestSettings settings = new YouTubeRequestSettings("MyAppName", pDeveloperKey, pUserName, pPassword);
YouTubeRequest f = new YouTubeRequest(settings);
settings.AutoPaging = true;
// 回傳 youtube default feeds,在這邊我們取得 YouTubeQuery.DefaultUploads 為已上傳的影片 Youtube API 網址
Feed<Video> sfeed = f.GetStandardFeed(YouTubeQuery.DefaultUploads);
// 取得已上傳的影片完整清單
var entries = sfeed.Entries.ToList(); // 取得完整清單
// 以[觀看次數]排序,將查詢結果加入 ListBox 中
foreach (var item in entries.OrderByDescending(i => i.ViewCount))
{
this.lbDefaultUploads.Items.Add(item.Title);
}
this.lbDefaultUploads.Items.Add("筆數 : " + entries.Count().ToString());
// 透過 Linq 取得 [觀看次數] 大於 150 的資料
var entriesFilter = from ye in entries
where ye.ViewCount > 150
select ye;
// 將查詢後資料加入 ListBox 中
foreach (var item in entriesFilter.OrderByDescending(i => i.ViewCount))
{
this.lbDefaultUploadsFilter.Items.Add(item.Title);
}
this.lbDefaultUploadsFilter.Items.Add("筆數 : " + entriesFilter.Count().ToString());
}
四、執行結果
五、參考