// 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"); } }
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"); } }
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()); }