Ejemplo n.º 1
0
        public Video Save(string name = null, string description = null, bool isPrivate = false, bool isPostToWall = false, string link = null, long?groupId = null, long?albumId = null, bool isRepeat = false)
        {
            var parameters = new VideoSaveParams
            {
                Name        = name,
                Description = description,
                IsPrivate   = isPrivate,
                Wallpost    = isPostToWall,
                Link        = link,
                GroupId     = groupId,
                AlbumId     = albumId,
                Repeat      = isRepeat
            };

            return(Save(parameters));
        }
Ejemplo n.º 2
0
 /// <inheritdoc />
 public async Task <Video> SaveAsync(VideoSaveParams @params)
 {
     return(await TypeHelper.TryInvokeMethodAsync(() => _vk.Video.Save(@params)));
 }
Ejemplo n.º 3
0
 /// <inheritdoc />
 public Task <Video> SaveAsync(VideoSaveParams @params)
 {
     return(TypeHelper.TryInvokeMethodAsync(func: () => _vk.Video.Save(@params: @params)));
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Возвращает адрес сервера (необходимый для загрузки) и данные видеозаписи.
 /// </summary>
 /// <param name="params"> Параметры запроса. </param>
 /// <returns>
 /// Возвращает объект, который имеет поля upload_url, video_id, title, description,
 /// owner_id.
 /// Метод может быть вызван не более 5000 раз в сутки для одного сервиса.
 /// </returns>
 /// <remarks>
 /// Страница документации ВКонтакте http://vk.com/dev/video.save
 /// </remarks>
 public Video Save(VideoSaveParams @params)
 {
     return(_vk.Call(methodName: "video.save", parameters: @params));
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Возвращает адрес сервера (необходимый для загрузки) и данные видеозаписи.
 /// </summary>
 /// <param name="params">Параметры запроса.</param>
 /// <returns>
 /// Возвращает объект, который имеет поля upload_url, video_id, title, description, owner_id.
 /// Метод может быть вызван не более 5000 раз в сутки для одного сервиса.
 /// </returns>
 /// <remarks>
 /// Страница документации ВКонтакте http://vk.com/dev/video.save
 /// </remarks>
 public Video Save(VideoSaveParams @params)
 {
     return(_vk.Call("video.save", @params));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Returns a server address (required for upload) and video data.
 /// </summary>
 /// <param name="methodParams">A <see cref="VideoSaveParams"/> object with the params.</param>
 /// <returns>Returns a <see cref="VideoServerInfo"/> object containing upload server data.</returns>
 public async Task<Response<VideoServerInfo>> Save(VideoSaveParams methodParams)
     => await Request<VideoServerInfo>("save", methodParams);
Ejemplo n.º 7
0
        private async Task<object> UploadVideo(object videoObj, string fileName, VideoSaveParams saveParams, bool byLink)
        {
            var uplServerResp = await Save(saveParams);

            if (uplServerResp.IsError && !API.ThrowExceptionOnResponseError)
            {
                throw new InTouchResponseErrorException(uplServerResp.Error.Message, uplServerResp.Error);
            }

            if (byLink)
            {
                var uplRespRawJson = await new HttpClient().GetStringAsync(uplServerResp.Data.UploadUrl);
                var resp = API.ParseUploadServerResponse<bool>(uplRespRawJson, "response");

                return Tuple.Create(resp, uplServerResp.Data);
            }
            else
            {
                var uplRespRawJson = await API.UploadFile(uplServerResp.Data.UploadUrl,
                    new List<Tuple<string, byte[], string>>
                    {
                        {"video_file", (byte[]) videoObj, fileName}
                    });
                var resp = API.ParseUploadServerResponse<VideoUploadResponse>(uplRespRawJson);

                return resp.GetVideo(uplServerResp.Data);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Adds video by given external link.
        /// </summary>
        /// <param name="saveParams">A <see cref="VideoSaveParams"/> object with the params.</param>
        /// <exception cref="ArgumentNullException">Thrown when a <c>saveParams</c> is null.</exception>
        /// <exception cref="NullReferenceException">Thrown when a <see cref="VideoSaveParams.Link"/> is null.</exception>
        /// <exception cref="InTouchException">Thrown when an exception has occurred while uploading the file.</exception>
        /// <returns>Returns a <see cref="VideoServerInfo"/> object containing upload server data.</returns>
        public async Task<Tuple<bool, VideoServerInfo>> UploadVideo(VideoSaveParams saveParams)
        {
            if (saveParams == null)
            {
                throw new ArgumentNullException(nameof(saveParams));
            }

            if (string.IsNullOrEmpty(saveParams.Link))
            {
                throw new NullReferenceException("Video link cannot be null or empty.");
            }

            try
            {
                var res = await UploadVideo(null, null, saveParams, true);

                return (Tuple<bool, VideoServerInfo>)res;
            }
            catch (Exception ex)
            {
                throw new InTouchException("An exception has occurred while adding video by link.", ex);
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Uploads the video.
        /// </summary>
        /// <param name="videoData">Video data.</param>
        /// <param name="fileName">Video file name.</param>
        /// <param name="saveParams">A <see cref="VideoSaveParams"/> object with the params.</param>
        /// <exception cref="ArgumentNullException">Thrown when a <c>videoData</c> is null.</exception>
        /// <exception cref="ArgumentNullException">Thrown when a <c>fileName</c> is null.</exception>
        /// <exception cref="InTouchException">Thrown when an exception has occurred while uploading the file.</exception>
        /// <returns>Returns a <see cref="VideoServerInfo"/> object containing upload server data.</returns>
        public async Task<Video> UploadVideo(byte[] videoData, string fileName,
            VideoSaveParams saveParams = null)
        {
            if (videoData == null)
            {
                throw new ArgumentNullException(nameof(videoData));
            }

            if (string.IsNullOrEmpty(fileName))
            {
                throw new ArgumentNullException(nameof(fileName));
            }

            try
            {
                var res = await UploadVideo(videoData, fileName, saveParams, false);

                return (Video)res;
            }
            catch (Exception ex)
            {
                throw new InTouchException("An exception has occurred while uploading video file.", ex);
            }
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Возвращает адрес сервера (необходимый для загрузки) и данные видеозаписи.
 /// </summary>
 /// <param name="params">Параметры запроса.</param>
 /// <returns>
 /// Возвращает объект, который имеет поля upload_url, video_id, title, description, owner_id.
 /// Метод может быть вызван не более 5000 раз в сутки для одного сервиса.
 /// </returns>
 /// <remarks>
 /// Страница документации ВКонтакте <see href="http://vk.com/dev/video.save" />.
 /// </remarks>
 public Video Save(VideoSaveParams @params)
 {
     return _vk.Call("video.save", @params);
 }