/// <summary>マイリストを追加するストリームを取得する</summary> /// <param name="AddItem">追加するマイリスト</param> /// <param name="IsGetToken">トークンを取得するかどうか</param> public Streams <AddMylistResponse> OpenMylistAddStreams(Mylist.Mylist AddItem, bool IsGetToken = true) { var streamDataList = new List <StreamData>(); AddMylistResponse result = null; if (IsGetToken) { streamDataList.AddRange(host.GetToken()); } var updateStreamDatas = context.Client.OpenUploadStreams(ApiUrls.AddMylist, ContentType.Form).GetStreamDatas(); updateStreamDatas[0].GetWriteData = () => Encoding.UTF8.GetBytes(string.Format( PostTexts.AddMylist, AddItem.Title, AddItem.Description, (AddItem.IsPublic) ? "1" : "0", host.token)); updateStreamDatas[1].SetReadData = (data) => { var serialize = new DataContractJsonSerializer(typeof(Serial.AddMylist.Contract)); result = converter.ConvertAddMylist((Serial.AddMylist.Contract)serialize.ReadObject(new MemoryStream(data))); result.AddedMylist.Title = AddItem.Title; result.AddedMylist.Description = AddItem.Description; result.AddedMylist.IsPublic = AddItem.IsPublic; }; streamDataList.AddRange(updateStreamDatas); return(new Streams <AddMylistResponse>( streamDataList.ToArray(), () => result)); }
/// <summary>マイリストへ動画を追加するストリームを取得する</summary> /// <param name="AddItem">追加する動画</param> /// <param name="IsGetToken">トークンを取得するかどうか</param> public Streams <Response> OpenMylistAddVideoStreams(Mylist.MylistItem AddItem, bool IsGetToken = true) { var streamDataList = new List <StreamData>(); StreamData[] uploadStreamDatas = null; Response result = null; if (IsGetToken) { streamDataList.AddRange(host.GetToken()); } if (target.ID == "")//とりあえずマイリスト { uploadStreamDatas = context.Client.OpenUploadStreams(ApiUrls.DeflistAddVideo, ContentType.Form).GetStreamDatas(); uploadStreamDatas[0].GetWriteData = () => { return(Encoding.UTF8.GetBytes(string.Format( PostTexts.DeflistAddVideo, AddItem.VideoInfo.ID, AddItem.Description, host.token))); }; } else { uploadStreamDatas = context.Client.OpenUploadStreams(ApiUrls.MylistAddVideo, ContentType.Form).GetStreamDatas(); uploadStreamDatas[0].GetWriteData = () => { return(Encoding.UTF8.GetBytes(string.Format( PostTexts.MylistAddVideo, target.ID, AddItem.VideoInfo.ID, AddItem.Description, "", host.token))); }; } uploadStreamDatas[1].SetReadData = (data) => { var serialize = new DataContractJsonSerializer(typeof(Serial.MylistAddVideo.Contract)); result = converter.ConvertResponse( (Serial.MylistAddVideo.Contract)serialize.ReadObject(new MemoryStream(data))); }; streamDataList.AddRange(uploadStreamDatas); return(new Streams <Response>( streamDataList.ToArray(), () => result)); }