public static async Task <bool> UpdateMylistGroupAsync(NiconicoContext context, string mylistId, string name, string description, bool isPublic, MylistSortKey defaultSortKey, MylistSortOrder defaultSortOrder) { var dict = new Dictionary <string, string>(); dict.Add("name", name); dict.Add("description", description); dict.Add("isPublic", isPublic.ToString1Or0()); dict.Add("defaultSortKey", defaultSortKey.ToQueryString()); dict.Add("defaultSortOrder", defaultSortOrder.ToQueryString()); var request = new HttpRequestMessage(HttpMethod.Put, new Uri($"https://nvapi.nicovideo.jp/v1/users/me/mylists/{mylistId}")); #if WINDOWS_UWP request.Content = new HttpFormUrlEncodedContent(dict); request.Headers.Referer = new Uri($"https://www.nicovideo.jp/my/mylist/{mylistId}"); #else request.Content = new FormUrlEncodedContent(dict); request.Headers.Referrer = new Uri($"https://www.nicovideo.jp/my/mylist/{mylistId}"); #endif request.Headers.Add("X-Request-With", "https://www.nicovideo.jp"); var res = await context.SendAsync(request); var json = await res.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <MylistUpdateResultResponse>(json); return(result.Meta.Status == 200); }
public static async Task <WatchAfterMylistGroupItemsResponse> GetWatchAfterMylistGroupItemsAsync(NiconicoContext context, MylistSortKey sortKey, MylistSortOrder sortOrder, uint pageSize, uint pageCount) { var uri = $"https://nvapi.nicovideo.jp/v1/users/me/watch-later?sortKey={sortKey.ToQueryString()}&sortOrder={sortOrder.ToQueryString()}&pageSize={pageSize}&page={pageCount + 1}"; await context.PrepareCorsAsscessAsync(HttpMethod.Get, uri); return(await context.GetJsonAsAsync <WatchAfterMylistGroupItemsResponse>(uri, Converter.Settings, haaders => { #if WINDOWS_UWP haaders.Referer = new Uri("https://www.nicovideo.jp/my/watchlater?ref=pc_mypage_menu"); #else haaders.Referrer = new Uri("https://www.nicovideo.jp/my/watchlater?ref=pc_mypage_menu"); #endif })); }
public static async Task <MylistGroupItemsResponse> GetMylistGroupItemsAsync(NiconicoContext context, long mylistId, MylistSortKey sortKey, MylistSortOrder sortOrder, uint pageSize, uint pageCount) { // Note: CORSのOPTIONSを先に送る奴が必要になるかも var uri = $"https://nvapi.nicovideo.jp/v2/mylists/{mylistId}?sortKey={sortKey.ToQueryString()}&sortOrder={sortOrder.ToQueryString()}&pageSize={pageSize}&page={pageCount + 1}"; await context.PrepareCorsAsscessAsync(HttpMethod.Get, uri); return(await context.GetJsonAsAsync <MylistGroupItemsResponse>(uri, Converter.Settings)); }