BiasedBit.MinusEngine.MinusApi.MyGalleries C# (CSharp) Метод

MyGalleries() публичный Метод

Retrieve all of a users galleries
public MyGalleries ( String cookieHeader ) : void
cookieHeader String A String representation of the session id cookie
Результат void
        public void MyGalleries(String cookieHeader)
        {
            if (String.IsNullOrEmpty(cookieHeader))
            {
                throw new ArgumentException("Cookie Header cannot be null or empty");
            }

            CookieAwareWebClient client = this.CreateAndSetupWebClient(cookieHeader);
            client.setCookieHeader(new Uri(BASE_URL), cookieHeader);
            client.DownloadStringCompleted += delegate(object sender, DownloadStringCompletedEventArgs e)
            {
                if (e.Error != null)
                {
                    Debug.WriteLine("MyGalleries operation failed: " + e.Error.Message);
                    Debug.WriteLine("MyGalleries operation failed: " + e.Error.InnerException);
                    Debug.WriteLine("MyGalleries operation failed: " + e.Error.Data);
                    this.TriggerGetItemsFailed(e.Error);
                    #if !WINDOWS_PHONE
                        client.Dispose();
                    #endif
                    return;
                }

                MyGalleriesResult result = JsonConvert.DeserializeObject<MyGalleriesResult>(e.Result);
                Debug.WriteLine("MyGalleries operation successful: " + result);
                this.TriggerMyGalleriesComplete(result);
                #if !WINDOWS_PHONE
                    client.Dispose();
                #endif
            };

            try
            {
                ThreadPool.QueueUserWorkItem((object state) =>
                {
                    try
                    {
                        client.DownloadStringAsync(MY_GALLERIES_URL);
                    }
                    catch (WebException e)
                    {
                        Debug.WriteLine("Failed to access MyGalleries API: " + e.Message);
                        this.TriggerGetItemsFailed(e);
                        #if !WINDOWS_PHONE
                            client.Dispose();
                        #endif
                    }
                });
            }
            catch (Exception e)
            {
                Debug.WriteLine("Failed to submit task to thread pool: " + e.Message);
                this.TriggerGetItemsFailed(e);
                #if !WINDOWS_PHONE
                    client.Dispose();
                #endif
            }
        }

Usage Example

Пример #1
0
        private static void TestAuth()
        {
            // create the API
            MinusApi api = new MinusApi(API_KEY);

            //set up listeners for SignIn
            api.SignInFailed += delegate(MinusApi sender, Exception e)
            {
                Console.WriteLine("Failed to Sign In... " + e.Message);
            };
            api.SignInComplete += delegate(MinusApi sender, SignInResult result)
            {
                Console.WriteLine("Signed In: " + result.Success + ", " + result.CookieHeaders);
                api.MyGalleries(result.CookieHeaders);
            };

            //set up listeners for MyGalleries
            api.MyGalleriesFailed += delegate(MinusApi sender, Exception e)
            {
                Console.WriteLine("Failed to get galleries..." + e.Message);
            };
            api.MyGalleriesComplete += delegate(MinusApi sender, MyGalleriesResult result)
            {
                Console.WriteLine("Got galleries...");
                foreach (GalleryResult gallery in result.Galleries)
                {
                    Console.WriteLine(gallery.Name + " - " + gallery.LastVisit);
                }
            };

            api.SignIn("123test123", "123test123");
        }