public override async Task Post(Post post) { try { var vkClient = new VkApi(); vkClient.Authorize(new ApiAuthParams { ApplicationId = _appId, AccessToken = _accessToken, Login = _login, Password = _password, Settings = Settings.FromJsonString("wall,photos") }); UploadServerInfo uploadServerInfo = await vkClient.Photo.GetWallUploadServerAsync(); string uploadedFileJson = ""; using (var client = new HttpClient()) { var requestContent = new MultipartFormDataContent(); byte[] data = File.ReadAllBytes(post.PathToImageToAttach); var content = new ByteArrayContent(data); content.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data"); requestContent.Add(content, "file", $"file.{Path.GetExtension(post.PathToImageToAttach)}"); var response = await client.PostAsync(uploadServerInfo.UploadUrl, requestContent); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); // https://stackoverflow.com/questions/33579661/encoding-getencoding-cant-work-in-uwp-app uploadedFileJson = await response.Content.ReadAsStringAsync(); } Photo[] image = vkClient.Photo.SaveWallPhoto(uploadedFileJson, (ulong)uploadServerInfo.UserId).ToArray(); var wallPost = new WallPostParams(); wallPost.Message = post.MultilineText + Environment.NewLine + "#" + string.Join(" #", post.Hashtags) + Environment.NewLine; wallPost.Attachments = image; vkClient.Wall.Post(wallPost); vkClient.Dispose(); } catch (Exception ex) { Console.WriteLine($"vk> {ex.ToString()}"); ; } }
public void Dispose() { longPollClient?.Dispose(); api?.Dispose(); WebApi.Dispose(); }
public void Dispose() { _vkApi.Dispose(); }
public void Dispose() { _groupApi?.Dispose(); _adminApi?.Dispose(); }
public void Dispose() { api.Dispose(); }