예제 #1
0
        public async Task TestGetAlbum()
        {
            // https://imgur.com/gallery/YuQ8OrD
            Album album = await imgur.GetAlbum("YuQ8OrD");

            Assert.IsNotNull(album);
        }
예제 #2
0
        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);
                    }
                }
            }
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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);
            }
        }
예제 #5
0
        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);
        }