通过URL检索YouTube见解
本文关键字:见解 YouTube 检索 URL 通过 | 更新日期: 2023-09-27 18:27:28
我正在尝试使用C#检索YouTube见解
我已经能够用下面的代码检索视频ID,然而,我无法检索到这些见解。我希望通过使用视频ID,我可以在以下URL上获取:
https://insight.youtube.com/video-analytics/csvreports?query=VIDEO_ID&type=v&起始时间=1330727299&结束时间=1331677699&地区=世界&hl=en_US&userName=userName&password=password&token=DEV_token
尽管这个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);
}
}
Jeffrey Posnick Post回复
上午10:53(1小时前)
你好,
我没有现成的C#代码,但我可以告诉你你做错了。你不应该手动创建YouTubeInsight URL。你做不到。你好像在用你的YouTube身份验证令牌作为"token="URL参数的值,以及将您的用户名和密码粘贴在URL中是很好的措施,但是那是完全错误的做法。Insight URL是唯一的由API生成,并在针对该条目的所有者在元素中的视频条目。这是解释
https://developers.google.com/youtube/2.0/developers_guide_protocol_insight
同样,您不能手动创建URL。你唯一需要的时间如果您想修改,请修改自动生成的URLuserstarttime或userendtime参数,也包括在内在文档中。
干杯,-Jeff Posnick,YouTube API团队groups.google.com/group/youtube-api-gdata|apiblog.youtube.com|@YouTubeDev