c# - 通过URL检索YouTube见解

标签 c# youtube

我正在尝试使用C#检索YouTube见解。
我已经可以使用以下代码检索视频ID,
但是,我无法获取见解。我希望
通过使用视频ID,我可以在以下URL上进行获取:

https://insight.youtube.com/video-analytics/csvreports?query=VIDEO_ID&type=v&starttime=1330727299&endtime=1331677699&region=world&hl=en_US&userName=USERNAME&password=PASSWORD&token=DEV_TOKEN

虽然此网址似乎无效。

有任何想法吗?一个特定的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("&region=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发表回复

10:53 AM(1小时前)

你好,

我没有任何可用的C#代码,但是我可以告诉你什么
你做错了。您不应该手动创建YouTube
洞察URL。你做不到您似乎在使用YouTube
身份验证 token 作为“token =“URL参数的值),以及
将您的用户名和密码粘贴在URL中是一种很好的方法,但是
那完全是错误的方法。 Insight网址是唯一的
由API生成并在经过身份验证的请求中公开
该条目所有者的视频条目,位于元素中。这是
在解释

https://developers.google.com/youtube/2.0/developers_guide_protocol_insight

同样,您不能手动创建URL。您唯一需要的时间
完全修改自动生成的URL,如果您要修改
user_starttime或user_endtime参数,也涵盖了
在文档中。

干杯,
-YouTube API小组的Jeff Posnick
groups.google.com/group/youtube-api-gdata | apiblog.youtube.com |
@YouTubeDev

关于c# - 通过URL检索YouTube见解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9675381/

相关文章:

c# - 如何通过 Entity Framework 获取表的所有关系列表?

c# - 在 C# 中设置以编程方式生成的程序集的说明

android - 是否有任何 Android YouTube 播放器标志?

python-2.7 - 高效读写大型文件

带回滚的 C# 集成测试

c# - 我在哪里可以找到 .NET 中的 "clamp"函数?

C# getters setters 样式

jquery - 带有视频的 Youtube 风格 slider

android - 如何从Linkify TextView获取URL

Android - 如何获取更改为其他应用程序的 MediaSession?