Exemple #1
0
        // action for friends
        public async Task <ActionResult> FB_TaggableFriends()
        {
            var access_token = Convert.ToString(HttpContext.Items["access_token"]);

            if (access_token != null)
            {
                try
                {
                    var appsecret_proof = access_token.generateAppSecretProof();

                    var     fb     = new FacebookClient(access_token);
                    dynamic myInfo = await fb.GetTaskAsync("me/taggable_friends?fields=id,name,picture.width(500)".GraphAPICall(appsecret_proof));

                    var friendsList = new List <FacebookFriendsViewModel>();
                    foreach (dynamic friend in myInfo.data)
                    {
                        friendsList.Add(DynamicExtention.ToStatic <FacebookFriendsViewModel>(friend));
                    }
                    return(PartialView(friendsList));
                }
                catch (Exception) { throw; }
            }
            else
            {
                throw new HttpException(404, "missing access token");
            }
        }
Exemple #2
0
        public async Task <ActionResult> FB_GetFeed()
        {
            var access_token = Convert.ToString(HttpContext.Items["access_token"]);

            if (access_token != null)
            {
                try
                {
                    var appsecret_proof = access_token.generateAppSecretProof();

                    FacebookProfileViewModel fbm = new FacebookProfileViewModel();
                    var imgurl = fbm.ImageURL;
                    FacebookPostViewModel fbpm = new FacebookPostViewModel();
                    var     fb     = new FacebookClient(access_token);
                    dynamic myFeed = await fb.GetTaskAsync(
                        ("me/feed?fields=id,from {{id,name,picture{{url}}}},story,picture,link,name,description,message,type,created_time,likes,comments").GraphAPICall(appsecret_proof));

                    var postList = new List <FacebookPostViewModel>();
                    foreach (dynamic post in myFeed.data)
                    {
                        postList.Add(DynamicExtention.ToStatic <FacebookPostViewModel>(post));
                    }
                    fbpm.From_Picture_Url = imgurl;

                    return(PartialView(postList));
                }
                catch (Exception) { throw; }
            }
            else
            {
                throw new HttpException(404, "missing access token");
            }
        }
Exemple #3
0
        public async Task <ActionResult> Index(string oauth_token, string oauth_verifier)
        {
            var db = HttpContext.GetOwinContext().Get <ApplicationDbContext>();

            // find the user. I am skipping validations and other checks.
            var userid = User.Identity.GetUserId();
            var user   = db.Users.Where(x => x.Id == userid).FirstOrDefault();

            if (!user.facebook_connect && !user.twitter_connect && !user.google_connect)
            {
                return(RedirectToAction("Index", "Manage"));
            }
            try
            {
                UserToken.Otoken    = oauth_token;
                UserToken.Overifier = oauth_verifier;
                var access_token = Convert.ToString(HttpContext.Items["access_token"]);
                if (access_token != null)
                {
                    try
                    {
                        var appsecret_proof = access_token.generateAppSecretProof();

                        var fb = new FacebookClient(access_token);


                        //Get current user's profile

                        dynamic myInfo = await fb.GetTaskAsync("me?fields=first_name,last_name,link,locale,email,name,birthday,gender,location,age_range".GraphAPICall(appsecret_proof));

                        var     facebookProfile  = DynamicExtention.ToStatic <FacebookProfileViewModel>(myInfo);
                        dynamic profileImgResult = await fb.GetTaskAsync("{0}/picture?width=200&height=200&redirect=false".GraphAPICall((string)myInfo.id, appsecret_proof));

                        facebookProfile.ImageURL = profileImgResult.data.url;
                        //var facebookProfile = new FacebookProfileViewModel()
                        //{
                        //    FirstName = myInfo.first_name,
                        //    LastName = myInfo.last_name,
                        //    ImageURL = profileImgResult.data.url,
                        //    LinkUrl = myInfo.link,
                        //    Locale = myInfo.locale,
                        //    email = myInfo.email,
                        //    Fullname = myInfo.name,
                        //    gender = myInfo.gender,
                        //    age_range = myInfo.age_range,
                        //    Location = myInfo.location.name,

                        //};
                        return(View(facebookProfile));
                    }
                    catch (Exception)
                    {
                        GetFacebookLoginURL();
                    }
                }
            }
            catch (Exception)
            {
                GetFacebookLoginURL();
            }
            return(View());
        }