我正在尝试使用C#检索YouTube洞察 我已经能够使用下面的代码检索视频ID 但是,我无法找到这些见解。我希望如此 通过使用视频ID,我可以对以下网址进行获取:
虽然此网址似乎不起作用。
有什么想法吗?一个特定的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);
}
}
答案 0 :(得分:1)
Jeffrey Posnick发表回复
10:53 AM(1小时前)
你好,
我没有随时可用的C#代码,但我可以告诉你什么 你做错了。您不应该手动创建YouTube Insight URL。你不能这样做。您似乎在使用自己的YouTube 身份验证令牌作为“token =”URL参数的值,以及 将您的用户名和密码粘贴在URL中以获得良好的衡量标准,但是 这完全是错误的做法。 Insight URL是唯一的 由API生成并在经过身份验证的请求中公开 该条目所有者在元素中输入的视频。这是 在
解释https://developers.google.com/youtube/2.0/developers_guide_protocol_insight
同样,您无法手动创建URL。你唯一需要的时间 如果要修改,则完全修改自动生成的URL user_starttime或user_endtime参数,也包括在内 在文档中。
干杯, -Jeff Posnick,YouTube API团队 groups.google.com/group/youtube-api-gdata | apiblog.youtube.com | @YouTubeDev