示例#1
0
        private void btnGetStatus_Click(object sender, EventArgs e)
        {
            lblStep4.Visible      = false;
            tsProgressBar.Visible = true;
            tsProgressBar.Minimum = 0;
            tsProgressBar.Value   = 0;
            tsProgressBar.Maximum = Friends.Count;
            tsStatusMessage.Text  = "Collecting recent status messages for each friend...";

            int counter = 0;

            tsProgressBar.Value = counter;

            System.Diagnostics.Debug.WriteLine(DateTime.Now.ToLongTimeString());
            foreach (FbFriend f in Friends.Values)
            {
                Dictionary <string, object> parms = new Dictionary <string, object>();
                // get max of 1 status message for the past two weeks: FASTER.
                parms.Add("limit", 1);
                DateTime since = DateTime.Now.AddDays(-14);
                parms.Add("since", since.ToUnixTime());

                try
                {
                    app.GetAsync(f.UserID + "/statuses", parms, (val) =>
                    {
                        BeginInvoke(new MethodInvoker(
                                        delegate()
                        {
                            if (val != null && val.Result != null)
                            {
                                Statuses.AddRange(parseStatus(val.Result.ToString()));
                            }
                            if (tsProgressBar.Value++ == tsProgressBar.Maximum - 1)
                            {
                                tsProgressBar.Visible = false;
                                tsStatusMessage.Text  = string.Format("Status messages retrieved: {0}", Statuses.Count);
                                lblStep4.Visible      = true;
                            }
                        }
                                        ));

                        System.Diagnostics.Debug.WriteLine(val.Result.ToString());
                    });
                }
                catch
                {
                    tsProgressBar.Value++;
                }
            }
        }
示例#2
0
        private void FacebookAuthBrowser_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
        {
            FacebookOAuthResult result;
            if (FacebookOAuthResult.TryParse(e.Uri, out result))
            {
                if (result.IsSuccess)
                {
                    //user logged in successfully and access token is returned from facebook.
                    //Save that Access token for future use.
                    FacebookApp client = new FacebookApp(result.AccessToken);
                    client.GetAsync("me", (facebookResult) =>
                    {
                        IsolatedStorageSettings.ApplicationSettings["FacebookUserId"] = (facebookResult.Result as JsonObject)["id"].ToString();
                    });

                    IsolatedStorageSettings.ApplicationSettings["FacebookAccessToken"] = result.AccessToken;
                    FacebookAuthBrowser.Visibility = Visibility.Collapsed;
                }
                else
                {
                    MessageBox.Show(result.ErrorDescription + " \n" + result.ErrorReason);
                }
            }
        }