public async Task TestGetAlbum() { // https://imgur.com/gallery/YuQ8OrD Album album = await imgur.GetAlbum("YuQ8OrD"); Assert.IsNotNull(album); }
public async void Downloader(string mediaId) { album = await imgur.GetAlbum(mediaId); for (int i = 0; i < album.ImagesCount; i++) { using (var client = new WebClient()) { string filename = Path.GetFileName(new Uri(album.Images[i].Link).AbsolutePath); if (!allIds.Contains(album.Images[i].Id)) { Directory.CreateDirectory(@"Imgur\" + mediaId); allIds.Add(album.Images[i].Id); client.DownloadFile(album.Images[i].Link, @"Imgur\" + mediaId + @"\" + album.Images[i].Id + ".jpg"); File.WriteAllLines("allIds.txt", allIds); } } } }
private static async void UploadImage() { try { //Image ImgurImage urlImage = await imgur.UploadImageAnonymous("https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png", "name", "title", "description"); byte[] buff = File.ReadAllBytes("vs-icon.png"); MemoryStream ms = new MemoryStream(buff); ImgurImage streamImage = await imgur.UploadImageAnonymous(ms, "name", "title", "description"); bool updated = await imgur.UpdateImageAnonymous(streamImage.Deletehash, "updated title", "a new description"); ImgurImage getImage = await imgur.GetImage(streamImage.Id); //Album ImgurCreateAlbum createdAlbum = await imgur.CreateAlbumAnonymous(new string[] { streamImage.Id }, "album title", "album description", ImgurAlbumPrivacy.Public, ImgurAlbumLayout.Horizontal, streamImage.Id); bool result = await imgur.UpdateAlbumAnonymous(createdAlbum.DeleteHash, new string[] { streamImage.Id, urlImage.Id }, "updated album title", "update album description", ImgurAlbumPrivacy.Hidden, ImgurAlbumLayout.Blog, urlImage.Id); bool addImagesResult = await imgur.AddImagesToAlbumAnonymous(createdAlbum.DeleteHash, new string[] { streamImage.Id, urlImage.Id }); bool removeImagesResult = await imgur.RemoveImagesFromAlbumAnonymous(createdAlbum.DeleteHash, new string[] { urlImage.Id }); ImgurAlbum album = await imgur.GetAlbum(createdAlbum.Id); //Delete bool deleteAlbum = await imgur.DeleteAlbumAnonymous(createdAlbum.DeleteHash); bool deletedUrlImage = await imgur.DeleteImageAnonymous(urlImage.Deletehash); bool deletedStreamImage = await imgur.DeleteImageAnonymous(streamImage.Deletehash); } catch (Exception e) { System.Console.Write(e.Message); } }
private static async void UploadImage() { try { API.CreateSession(); //bool Check = await API.ChechToken(""); //System.Console.WriteLine(Check); string Code = API.RequestPin(); if (Code.Contains(".com")) { Console.WriteLine(Code); Console.Write("Write Pin: "); Code = Console.ReadLine(); } ImgurToken Token = await API.RequestTokenWithPin(Code); System.Console.WriteLine(Token.Access_token); ImgurToken ResetToken = await API.ResetToken(Token); Token = ResetToken; System.Console.WriteLine(ResetToken.Access_token); await API.GetImagesAlbum("Chww0"); long ImageCount = await API.GetImageCount(Token); System.Console.WriteLine(ImageCount); ImgurAccount Account = await API.GetAccount("letuananh035"); System.Console.WriteLine(Account.Id); System.Console.WriteLine(Account.Description); System.Console.WriteLine(Account.URL); List <ImgurImage> Images = await API.GetImages(Token); System.Console.WriteLine(Images[0].Link); ImgurImage urlImage = await API.UploadImage("https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png", "title", "description", Token); System.Console.Write(urlImage.Link); byte[] buff = File.ReadAllBytes("vs-icon.png"); MemoryStream ms = new MemoryStream(buff); ImgurImage streamImage = await API.UploadImage(ms, "title", "description", Token); bool updated = await API.UpdateImage(streamImage.Id, "updated title", "a new description", Token); ImgurImage getImage = await API.GetImage(streamImage.Id); System.Console.Write(getImage.Link); //Album ImgurCreateAlbum createdAlbum = await API.CreateAlbum(new string[] { streamImage.Id }, "album title", "album description", ImgurAlbumPrivacy.Public, ImgurAlbumLayout.Horizontal, streamImage.Id, Token); bool result = await API.UpdateAlbum(createdAlbum.Id, new string[] { streamImage.Id, urlImage.Id }, "updated album title", "update album description", ImgurAlbumPrivacy.Hidden, ImgurAlbumLayout.Blog, urlImage.Id, Token); bool addImagesResult = await API.AddImagesToAlbum(createdAlbum.DeleteHash, new string[] { streamImage.Id, urlImage.Id }, Token); ImgurAlbum album = await API.GetAlbum(createdAlbum.Id); bool removeImagesResult = await API.RemoveImagesFromAlbum(createdAlbum.DeleteHash, new string[] { urlImage.Id }, Token); //Delete bool deleteAlbum = await API.DeleteAlbum(createdAlbum.Id, Token); bool deletedUrlImage = await API.DeleteImage(urlImage.Deletehash); bool deletedStreamImage = await API.DeleteImage(streamImage.Id, Token); } catch (Exception e) { System.Console.Write(e.Message); } }
public static IMGURDec GetImages(string contextURL) { IMGURDec _dec = new IMGURDec(); _dec.ContextURL = contextURL; string[] _ext = Tools.GetFileExtension(contextURL); ImgurDotNet.Imgur _gurl = new Imgur(); bool _isImage = false; try { ImgurImage _img = _gurl.GetImage(_ext[0]); _isImage = true; } catch (Exception ex) { } if (!_ext[1].Equals("=(") || _isImage) { if (_isImage) { //is image ImgurImage _img = _gurl.GetImage(_ext[0]); _dec.FullURLs = new string[] { _img.OriginalUrl.ToString() }; _dec.IsAlbum = false; _dec.Titles = new string[] { _img.Title }; _dec.Descs = new string[] { _img.Name }; if (!_ext[1].Equals("=(")) { _dec.FileTypes = new string[] { _ext[1] }; _dec.FileNames = new string[] { _ext[0] + "." + _ext[1] }; if (!_ext[1].Equals("gif") && !_ext[1].Equals("gifv")) { string[] _mime = _img.Type.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); if (!_mime[_mime.Length - 1].Equals(_dec.FileTypes)) { _dec.FileTypes = new string[] { _mime[_mime.Length - 1] }; } } } else { string[] _ext0 = Tools.GetFileExtension(_img.OriginalUrl.ToString()); _dec.FileTypes = new string[] { _ext0[1] }; _dec.FileNames = new string[] { _ext0[0] + "." + _ext0[1] }; } } else { _dec.FullURLs = new string[] { contextURL }; _dec.IsAlbum = false; _dec.Titles = new string[] { "NOTITLE" }; _dec.FileTypes = new string[] { _ext[1] }; _dec.FileNames = new string[] { _ext[0] + "." + _ext[1] }; _dec.Descs = new string[] { "NODESC" }; } } else { ImgurAlbum _alb = _gurl.GetAlbum(_ext[0]); string[] _fullURLS = new string[_alb.Images.Count]; string[] _titles = new string[_alb.Images.Count]; string[] _descs = new string[_alb.Images.Count]; string[] _fileTypes = new string[_alb.Images.Count]; string[] _fileNames = new string[_alb.Images.Count]; int _count = 0; foreach (ImgurImage _img in _alb.Images) { string[] _ext2 = Tools.GetFileExtension(_img.OriginalUrl.ToString()); _fullURLS[_count] = _img.OriginalUrl.ToString(); _titles[_count] = _img.Title; _descs[_count] = _img.Caption; _fileTypes[_count] = _ext2[1]; _fileNames[_count] = _ext2[0] + "." + _ext2[1]; if (!_ext[1].Equals("gif") && !_ext2[1].Equals("gifv")) { string[] _mime = _img.Type.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); if (!_mime[_mime.Length - 1].Equals(_fileTypes[_count])) { _fileTypes[_count] = _mime[_mime.Length - 1]; } } _count++; } _dec.IsAlbum = true; _dec.FullURLs = _fullURLS; _dec.Titles = _titles; _dec.Descs = _descs; _dec.FileTypes = _fileTypes; _dec.FileNames = _fileNames; } return(_dec); }