//ユーザー定義の二コレポリストを取得
        private List <NicoNicoNicoRepoListEntry> GetUserDefinitionNicoRepoList()
        {
            try {
                //htmlからCSRFトークンを抜き出す
                var html = NicoNicoWrapperMain.Session.GetAsync(NicoRepoWebUrl).Result;

                //CSRFトークン
                var token = html.Substring(html.IndexOf("Mypage_globals.hash = \"") + 23, 60);

                var response = NicoNicoWrapperMain.Session.GetAsync(NicoRepoListApiUrl + token).Result;
                Console.WriteLine(NicoRepoListApiUrl + token);
                var json = DynamicJson.Parse(response);


                var ret = new List <NicoNicoNicoRepoListEntry>();
                foreach (var entry in json.nicorepolists)
                {
                    var list = new NicoNicoNicoRepoListEntry(entry.title, entry.id);

                    ret.Add(list);
                }
                return(ret);
            } catch (Exception) {
                return(new List <NicoNicoNicoRepoListEntry>());
            }
        }
        //ユーザー定義の二コレポリストを取得
        private List<NicoNicoNicoRepoListEntry> GetUserDefinitionNicoRepoList()
        {
            try {

                //htmlからCSRFトークンを抜き出す
                var html = NicoNicoWrapperMain.Session.GetAsync(NicoRepoWebUrl).Result;

                //CSRFトークン
                var token = html.Substring(html.IndexOf("Mypage_globals.hash = \"") + 23, 60);

                var response = NicoNicoWrapperMain.Session.GetAsync(NicoRepoListApiUrl + token).Result;
                Console.WriteLine(NicoRepoListApiUrl + token);
                var json = DynamicJson.Parse(response);

                var ret = new List<NicoNicoNicoRepoListEntry>();
                foreach(var entry in json.nicorepolists) {

                    var list = new NicoNicoNicoRepoListEntry(entry.title, entry.id);

                    ret.Add(list);
                }
                return ret;
            } catch(Exception) {

                return new List<NicoNicoNicoRepoListEntry>();
            }
        }
        //すべてのニコレポリストを取得
        public List<NicoNicoNicoRepoListEntry> GetNicoRepoList()
        {
            List<NicoNicoNicoRepoListEntry> ret = new List<NicoNicoNicoRepoListEntry>();

            NicoNicoNicoRepoListEntry all = new NicoNicoNicoRepoListEntry("すべて", "all");
            NicoNicoNicoRepoListEntry myself = new NicoNicoNicoRepoListEntry("自分", "myself");
            NicoNicoNicoRepoListEntry user = new NicoNicoNicoRepoListEntry("お気に入りユーザー", "user");
            NicoNicoNicoRepoListEntry chcom = new NicoNicoNicoRepoListEntry("チャンネル&コミュニティ", "chcom");
            NicoNicoNicoRepoListEntry mylist = new NicoNicoNicoRepoListEntry("マイリスト", "mylist");

            ret.Add(all);
            ret.Add(myself);
            ret.Add(user);
            ret.Add(chcom);
            ret.Add(mylist);
            ret = new List<NicoNicoNicoRepoListEntry>(ret.Concat(GetUserDefinitionNicoRepoList()));

            return ret;
        }
        //すべてのニコレポリストを取得
        public List <NicoNicoNicoRepoListEntry> GetNicoRepoList()
        {
            var ret = new List <NicoNicoNicoRepoListEntry>();


            var all    = new NicoNicoNicoRepoListEntry("すべて", "all");
            var myself = new NicoNicoNicoRepoListEntry("自分", "myself");
            var user   = new NicoNicoNicoRepoListEntry("お気に入りユーザー", "user");
            var chcom  = new NicoNicoNicoRepoListEntry("チャンネル&コミュニティ", "chcom");
            var mylist = new NicoNicoNicoRepoListEntry("マイリスト", "mylist");

            ret.Add(all);
            ret.Add(myself);
            ret.Add(user);
            ret.Add(chcom);
            ret.Add(mylist);
            ret = new List <NicoNicoNicoRepoListEntry>(ret.Concat(GetUserDefinitionNicoRepoList()));

            return(ret);
        }