【发布时间】:2012-03-12 21:56:19
【问题描述】:
我正在尝试使用 C# 检索 YouTube 见解。
我已经能够使用下面的代码检索视频 ID,
但是,我无法检索这些见解。我希望那
通过使用视频 ID,我可以在以下 URL 上执行 Get:
虽然这个 URL 似乎不起作用。
有什么想法吗?一个特定的 C# 代码示例将非常宝贵。
public class UnixTime
{
public static string ToUnixTime(DateTime dateTime)
{
return (Math.Round((dateTime - new DateTime(1970, 1, 1, 0, 0, 0).ToLocalTime()).TotalSeconds, 0)).ToString() ;
}
}
public void PrepareAndDownloadFile(string username, string password, string token,
string channel, string destination)
{
YouTubeRequestSettings settings = new YouTubeRequestSettings(channel, token, username, password);
YouTubeRequest request = new YouTubeRequest(settings);
string feedUrl = String.Format("http://gdata.youtube.com/feeds/api/users/{0}/uploads?v=2", channel);
Feed<Video> videoFeed = request.Get<Video>(new Uri(feedUrl));
foreach (Video video in videoFeed.Entries)
{
StringBuilder url = new StringBuilder();
url.Append("https://insight.youtube.com/video-analytics/csvreports");
url.Append(String.Format("?query={0}", video.VideoId));
url.Append("&type=v");
url.Append(String.Format("&starttime={0}", UnixTime.ToUnixTime(DateTime.Now.AddDays(SINCE_OFFSET))));
url.Append(String.Format("&endtime={0}", UnixTime.ToUnixTime(DateTime.Now.AddDays(UNTIL_OFFSET))));
url.Append("®ion=world");
url.Append("&hl=en_US");
url.Append(String.Format("&userName={0}", username));
url.Append(String.Format("&password={0}", password));
url.Append(string.Format("&token={0}", token));
// make Http Request here given the new url.
dynamic rows = GetPath(url.ToString());
processor.WriteRows(destination, rows);
}
}
【问题讨论】:
-
什么,具体来说,不起作用?你的电脑会炸吗?您收到错误消息了吗?
-
我应该能够在我的浏览器中输入这个 URL 并检索数据:https : //insight.youtube.com/video-analytics/csvreports?query=VIDEO_ID&type=v&starttime=1330727299&endtime=1331677699®ion= world&hl=en_US&userName=USERNAME&password=PASSWORD&token=DEV_TOKEN&alt=json 它应该以 JSON 字符串的形式返回。它没有。第一个问题是检索数据的正确咒语是什么。
-
@WillHughes - 我从 YouTube 得到的错误是 404。