コード例 #1
0
 public void display(Facebook.JsonObject friend, Facebook.JsonObject pic)
 {
     name.Text = friend["name"].ToString();
     link.Text = friend["link"].ToString();
     Facebook.JsonObject data = (Facebook.JsonObject)pic["data"];
     m_pic_avatar.Load(data["url"].ToString());
     this.ShowDialog();
 }
コード例 #2
0
        private void fbLogin(HttpContext context)
        {
            string token = context.Request.Params["token"];

            Facebook.FacebookClient client = new Facebook.FacebookClient(token);
            client.IsSecureConnection = true;
            Facebook.JsonObject o = (Facebook.JsonObject)client.Get("/me");
            var db = GetDataContext1;

            using (var scope = db.GetTransaction())
            {
                try
                {
                    string              first_name = (string)o["first_name"];
                    string              name       = (string)o["name"];
                    decimal             id         = Convert.ToDecimal(o["id"]);
                    Data.POCOS.Facebook fb         = new Data.POCOS.Facebook();
                    fb.name       = name;
                    fb.first_name = first_name;
                    fb.gender     = (string)o["gender"];
                    fb.id         = id;
                    fb.last_name  = (string)o["last_name"];
                    fb.link       = (string)o["link"];
                    fb.locale     = (string)o["locale"];
                    fb.timezone   = Convert.ToDouble(o["timezone"]);
                    string   updatedtime = (string)o["updated_time"];
                    DateTime dt;
                    if (DateTime.TryParse(updatedtime, out dt))
                    {
                        fb.updated_time = dt;
                    }
                    if (db.Exists <Data.POCOS.Facebook>(id))
                    {
                        db.Update(fb);
                    }
                    else
                    {
                        db.Insert(fb);
                    }
                    Data.POCOS.AppUser au = Data.POCOS.AppUser.FirstOrDefault("Select top 1 * from AppUsers where facebookid=@0", id);
                    if (au == null)
                    {
                        au            = new Data.POCOS.AppUser();
                        au.FirstName  = first_name;
                        au.facebookid = id;
                        db.Insert(au);
                    }

                    scope.Complete();
                    Common.WriteValue(Common.AuthCookie, au.ID.ToString());
                    Common.WriteValue(Common.InfoCookie, JObject.FromObject(new { email = au.Email, name = string.IsNullOrEmpty(au.FirstName) ? au.Name : au.FirstName, avatar = string.IsNullOrWhiteSpace(au.Avatar) ? null : Common.UploadedImageRelPath + au.Avatar, points = au.Points }));
                }
                finally
                {
                    scope.Dispose();
                }
            }
        }
コード例 #3
0
ファイル: POST.ashx.cs プロジェクト: ekah/pinsite
        private void fbLogin(HttpContext context)
        {
            string token = context.Request.Params["token"];

            Facebook.FacebookClient client = new Facebook.FacebookClient(token);
            //client.Post()
            client.UseFacebookBeta = client.IsSecureConnection = true;
            Facebook.JsonObject o = (Facebook.JsonObject)client.Get("/me");
            var db = new PetaPoco.Database(Common.HairStyleConnectionString, "System.Data.SqlClient");

            using (var scope = db.GetTransaction())
            {
                try
                {
                    string         first_name = (string)o["first_name"];
                    string         name       = (string)o["name"];
                    decimal        id         = Convert.ToDecimal(o["id"]);
                    POCOS.Facebook fb         = new POCOS.Facebook();
                    fb.name       = name;
                    fb.first_name = first_name;
                    fb.gender     = (string)o["gender"];
                    fb.id         = id;
                    fb.last_name  = (string)o["last_name"];
                    fb.link       = (string)o["link"];
                    fb.locale     = (string)o["locale"];
                    fb.timezone   = Convert.ToDouble(o["timezone"]);
                    string   updatedtime = (string)o["updated_time"];
                    DateTime dt;
                    if (DateTime.TryParse(updatedtime, out dt))
                    {
                        fb.updated_time = dt;
                    }
                    if (db.Exists <POCOS.Facebook>(id))
                    {
                        db.Update(fb);
                    }
                    else
                    {
                        db.Insert(fb);
                    }
                    POCOS.AppUser au = POCOS.AppUser.FirstOrDefault("Select top 1 * from AppUsers where facebookid=@0", id);
                    if (au == null)
                    {
                        au            = new POCOS.AppUser();
                        au.FirstName  = first_name;
                        au.facebookid = id;
                        db.Insert(au);
                    }
                    scope.Complete();
                    CookieUtil.WriteCookie(Common.AuthCookie, EncDec.Encrypt(JsonConvert.SerializeObject(new { ID = au.ID }), Common.DefaultPassword), false);
                    CookieUtil.WriteCookie(Common.InfoCookie, JsonConvert.SerializeObject(new { email = au.Email, name = au.Name, avatar = string.IsNullOrWhiteSpace(au.Avatar) ? null : Common.UploadedImageRelPath + au.Avatar }), false);
                }
                finally
                {
                    scope.Dispose();
                }
            }
        }
コード例 #4
0
 public static bool Verify(Facebook.JsonObject JObject, String Key)
 {
     return(JObject.Keys.Contains(Key));
 }
コード例 #5
0
ファイル: FbUser.cs プロジェクト: frank26080115/SaysWho
 public FbUser(string json)
 {
     this.jo = (Facebook.JsonObject)FacebookInfo.Client.DeserializeJson(json, typeof(Facebook.JsonObject));
 }
コード例 #6
0
        private void fbLogin(HttpContext context)
        {
            string token = context.Request.Params["token"];

            Facebook.FacebookClient client = new Facebook.FacebookClient(token);
            client.IsSecureConnection = true;
            var me = client.Get("/me");

            Facebook.JsonObject o = (Facebook.JsonObject)me;
            var db = GetDataContext1;

            using (var scope = db.GetTransaction())
            {
                try
                {
                    string  first_name = (string)o["first_name"];
                    string  name       = (string)o["name"];
                    decimal id         = Convert.ToDecimal(o["id"]);
                    string  email      = (string)o["email"];

                    Data.POCOS.Facebook fb = new Data.POCOS.Facebook();
                    fb.name       = name;
                    fb.first_name = first_name;
                    fb.gender     = (string)o["gender"];
                    fb.id         = id;
                    fb.last_name  = (string)o["last_name"];
                    fb.link       = (string)o["link"];
                    fb.locale     = (string)o["locale"];
                    fb.email      = email;
                    fb.timezone   = Convert.ToDouble(o["timezone"]);
                    string   updatedtime = (string)o["updated_time"];
                    DateTime dt;
                    if (DateTime.TryParse(updatedtime, out dt))
                    {
                        fb.updated_time = dt;
                    }
                    if (db.Exists <Data.POCOS.Facebook>(id))
                    {
                        db.Update(fb);
                    }
                    else
                    {
                        db.Insert(fb);
                    }
                    Data.POCOS.AppUser au = Data.POCOS.AppUser.FirstOrDefault("Select top 1 * from AppUsers where facebookid=@0", id);
                    if (au == null)
                    {
                        au             = new Data.POCOS.AppUser();
                        au.Email       = email;
                        au.FirstName   = first_name;
                        au.Create_date = DateTime.Now;
                        string _name = Common.RemoveSpecialCharacters(first_name);
                        var    names = from o1 in GetDataContext2.AppUsers select o1.Name;
                        string rs    = null;
                        while (names.Any(o1 => o1 == _name))
                        {
                            if (!string.IsNullOrEmpty(rs))
                            {
                                _name = _name.TrimEnd(rs.ToCharArray());
                            }
                            rs     = Common.RandomString(1);
                            _name += rs;
                        }
                        au.Name       = _name;
                        au.facebookid = id;
                        try
                        {
                            var query = string.Format(@"SELECT id, width, height, url, is_silhouette, real_width, real_height
FROM profile_pic
WHERE id={0}", id);

                            dynamic parameters = new ExpandoObject();
                            parameters.q = query;
                            dynamic             obj = client.Get("/fql", parameters);
                            Facebook.JsonObject det = (Facebook.JsonObject)obj;
                            if (det["data"] != null)
                            {
                                Facebook.JsonArray  jarray = ((Facebook.JsonArray)det["data"]);
                                Facebook.JsonObject pic    = (Facebook.JsonObject)jarray.First();
                                string    url       = (string)pic["url"];
                                WebClient webclient = new WebClient();
                                byte[]    data      = webclient.DownloadData(url);
                                Image     img       = Image.FromStream(new MemoryStream(data));
                                string    fn        = Guid.NewGuid().ToString() + ".jpg";
                                string    fp        = Common.UploadedImagePath + fn;
                                img.Save(fp, ImageFormat.Jpeg);
                                au.Avatar = fn;
                            }
                        }
                        catch
                        {
                        }
                        db.Insert(au);
                    }

                    scope.Complete();
                    Common.WriteValue(Common.AuthCookie, au.ID.ToString());
                    Common.WriteValue(Common.InfoCookie, JObject.FromObject(new { email = au.Email, name = string.IsNullOrEmpty(au.FirstName) ? au.Name : au.FirstName, avatar = string.IsNullOrWhiteSpace(au.Avatar) ? null : Common.UploadedImageRelPath + au.Avatar, points = au.Points }));
                }
                finally
                {
                    scope.Dispose();
                }
            }
        }