public async Task <ActionResult> Index(FacebookContext context, string UserId = null) { Session["context"] = context; if (ModelState.IsValid) { if (UserId == null) { UserId = context.UserId; } var pm = new pmPersonalInfo(); pm.basicInfo = serviceUsers.GetUserInfo(context, UserId); pm.personalPosts = await servicePosts.GetUserPosts(context, UserId, 0); pm.votetPosts = await servicePosts.GetUserPodyakaPosts(context, 0); if (context.UserId == UserId) { return(View(pm)); } else { return(View("OtherUser", pm)); } } return(View("Error")); }
public async Task <ActionResult> Index(FacebookContext context) { if (ModelState.IsValid) { var user = await context.Client.GetCurrentUserAsync <MyAppUser>(); var friendsWithUpcomingBirthdays = user.Friends.Data.OrderBy(friend => { try { string friendBirthDayString = friend.Birthday; if (String.IsNullOrEmpty(friendBirthDayString)) { return(int.MaxValue); } var birthDate = DateTime.Parse(friendBirthDayString); friend.Birthday = birthDate.ToString("MMMM d"); // normalize birthday formats return(BirthdayCalculator.GetDaysBeforeBirthday(birthDate)); } catch { return(int.MaxValue); } }).Take(100); user.Friends.Data = friendsWithUpcomingBirthdays.ToList(); return(View(user)); } return(View("Error")); }
public void BindModel_ReturnsExpectedFacebookContext_WhenSignedRequestComesFromQuery() { FacebookConfiguration config = new FacebookConfiguration(); config.AppSecret = "3e29b24f825e737d97aed5eb62df5076"; config.ClientProvider = new DefaultFacebookClientProvider(config); FacebookContextModelBinder contextBinder = new FacebookContextModelBinder(config); ControllerContext controllerContext = MockHelpers.CreateControllerContext( null, new NameValueCollection { { "signed_request", "x1yDEgacN3N5iu23Ji8NLYp9LGO1-cUXKHTJQrMqzVQ.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImV4cGlyZXMiOjEzNTM5MTMyMDAsImlzc3VlZF9hdCI6MTM1MzkwNzQ5Miwib2F1dGhfdG9rZW4iOiJBQUFGUlJPcWtwZ01CQURBSjNQZk5vNldXMlJ5WkFSQ1hjU0daQlhpNTBLTG9wRzFwYmFwc2M2aThKY3h6WkFQN1pDSnlpcXVHYlc3WXlCam1aQjh0UWpyelZ2VTNrYm44b3N3WXR5czkzTWdaRFpEIiwidXNlciI6eyJjb3VudHJ5IjoidXMiLCJsb2NhbGUiOiJlbl9VUyIsImFnZSI6eyJtaW4iOjIxfX0sInVzZXJfaWQiOiIxNzgyNTkwMSJ9" } } ); FacebookContext context = Assert.IsType <FacebookContext>( contextBinder.BindModel(controllerContext, new ModelBindingContext()) ); Assert.NotNull((object)context.SignedRequest); Assert.NotNull(context.AccessToken); Assert.Equal("17825901", context.UserId); }
private void GetBands() { try { FacebookContext context = new FacebookContext(); context.Load <Band>(context.GetBandsQuery(AccessToken), (loadOp) => { if (!loadOp.HasError) { Bands.Clear(); foreach (Band band in loadOp.Entities) { Bands.Add(band); } } else { MessageBox.Show(loadOp.Error.ToString()); } }, null); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void SetAccessToken(Action callback) { FacebookContext context = new FacebookContext(); context.GetAccessToken(App.Current.FacebookSettings.AccessTokenUrl, App.Current.FacebookSettings.ApplicationID, App.Current.FacebookSettings.RedirectUrl, App.Current.FacebookSettings.ApplicationSecret, AuthorizationCode, (invokeOp) => { if (!invokeOp.HasError) { AccessToken = invokeOp.Value; if (callback != null) { callback(); } } else { MessageBox.Show(invokeOp.Error.ToString()); } }, null); }
public static void ClassCleanup() { if (_ctx != null) { _ctx.Dispose(); } _ctx = null; }
public async Task<ActionResult> Index(FacebookContext context) { if (ModelState.IsValid) { var user = await context.Client.GetCurrentUserAsync<MyAppUser>(); return View(user); } return View("Error"); }
public ActionResult SettingsLogin(string trackingID, FacebookContext context) { var user = this.CurrentUser(); if (user != null) { return(RedirectToAction("AppSettings", "Facebook", new { area = "Widget", trackingId = trackingID })); } return(View()); }
public async Task <ActionResult> Search(string friendName, FacebookContext context) { var userFriends = await context.Client.GetCurrentUserFriendsAsync <MyAppUserFriendSimple>(); var friendsFound = String.IsNullOrEmpty(friendName) ? userFriends.ToList() : userFriends.Where(f => f.Name.ToLowerInvariant().Contains(friendName.ToLowerInvariant())).ToList(); friendsFound.ForEach(f => f.Birthday = !String.IsNullOrEmpty(f.Birthday) ? DateTime.Parse(f.Birthday).ToString("MMMM d") : ""); return(View(friendsFound)); }
public ActionResult SetUserToVoteList(FacebookContext context, bool IsSet) { if (context == null) { context = (FacebookContext)Session["context"]; } var pm = serviceVoting.ChangePersonVotingStatus(context.UserId, IsSet); return(Json(pm, JsonRequestBehavior.AllowGet)); }
public ActionResult GetNext(FacebookContext context, int from) { if (context == null) { context = (FacebookContext)Session["context"]; } var pm = serviceUsers.GetUsersForRating(context, from); return(Json(pm, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> GetNext(FacebookContext context, int from) { if (context == null) { context = (FacebookContext)Session["context"]; } var pm = await servicePosts.GetUserRealPosts(context, from); return(Json(pm, JsonRequestBehavior.AllowGet)); }
public ActionResult Promote(FacebookContext context, string PostId) { if (context == null) { context = (FacebookContext)Session["context"]; } servicePromote.Promote(context.UserId, PostId); return(Json(1, JsonRequestBehavior.AllowGet)); }
public ActionResult Index(FacebookContext context) { Session["context"] = context; if (ModelState.IsValid && Authorite("Administrator")) { return(View()); } return(View("Error")); }
public ActionResult Index(FacebookContext context) { Session["context"] = context; if (ModelState.IsValid) { var pm = serviceUsers.GetUsersForRating(context, 0); return(View(pm)); } return(View("Error")); }
public async Task <ActionResult> PromoteLink(FacebookContext context, string Link) { if (context == null) { context = (FacebookContext)Session["context"]; } var res = await servicePromote.PromoteLink(context, Link); System.Threading.Thread.Sleep(200); return(Json(res, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Index(FacebookContext context) { if (ModelState.IsValid) { var user = await context.Client.GetCurrentUserAsync <MyAppUser>(); MyAppUserExt _MyAppUserExt = new MyAppUserExt(); _MyAppUserExt.Id = user.Id; _MyAppUserExt.Name = user.Name; _MyAppUserExt.Email = user.Email; _MyAppUserExt.Friends = user.Friends; _MyAppUserExt.Photos = user.Photos; _MyAppUserExt.ProfilePicture = user.ProfilePicture; _MyAppUserExt.Professions = new List <MyFriendsProfessions> { new MyFriendsProfessions { Professions = "Engineer", TotalFriends = 50, Percentage = 25.00 }, new MyFriendsProfessions { Professions = "Doctor", TotalFriends = 50, Percentage = 20.00 }, new MyFriendsProfessions { Professions = "Teacher", TotalFriends = 50, Percentage = 30.00 }, new MyFriendsProfessions { Professions = "Jurnalist", TotalFriends = 50, Percentage = 15.00 }, new MyFriendsProfessions { Professions = "Writer", TotalFriends = 50, Percentage = 5.00 } }; //var user1 = context.Client.Get(user.Friends.Data[10].Link); _MyAppUserExt.ChartData = "["; for (int i = 0; i < _MyAppUserExt.Professions.Count; i++) { if (i > 0) { _MyAppUserExt.ChartData += ","; } _MyAppUserExt.ChartData += "['" + _MyAppUserExt.Professions[i].Professions + "'," + _MyAppUserExt.Professions[i].Percentage + "]"; } _MyAppUserExt.ChartData += "]"; return(View(_MyAppUserExt)); } return(View("Error")); }
public async Task <ActionResult> Index(FacebookContext context) { Session["context"] = context; if (ModelState.IsValid) { var pm = await servicePosts.GetUserRealPosts(context, 0); return(View(pm)); } return(View("Error")); }
public ActionResult Vote(FacebookContext context, int votingVariantId, bool IsVote) { if (context == null) { context = (FacebookContext)Session["context"]; } int votingId = serviceVoting.Vote(context.UserId, votingVariantId, IsVote); var newResults = serviceVoting.GetUserVotes(votingId, context.UserId); return(Json(newResults, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Index(FacebookContext context) { if (ModelState.IsValid) { var Posts = (await context.Client.GetTaskAsync <FQLPosts>("fql", new { q = "SELECT post_id,permalink,source_id,message,description,created_time,type,attachment FROM stream WHERE source_id = \"" + 100001898002905 + "\" limit " + 20 })).Data; //await serviceUsers.UpdateAllUsersInfo(context); var user = await context.Client.GetCurrentUserAsync <UserForMainPage>(); serviceUsers.AddUser(user); return(View(user)); } return(View("Error")); }
public async Task <bool> UpdateAllUsersInfo(FacebookContext context) { foreach (var user in db.Users.ToArray()) { var fbUser = await context.Client.GetFacebookObjectAsync <UserForMainPage>(user.UserId); if (fbUser.Id != null) { AddUser(fbUser); } } return(true); }
public async Task <ActionResult> Index(FacebookContext context) { Session["context"] = context; if (ModelState.IsValid) { var pm = new pmIndex(); pm.promotePosts = await servicePosts.GetRandomPromotePosts(context, 0); pm.friendsFeed = await servicePosts.GetFriendsPosts(context, 0, Session); return(View(pm)); } return(View("Error")); }
public async Task <ActionResult> SetBals(FacebookContext context, string UserId) { if (!Authorite("Administrator")) { return(View("Error")); } if (context == null) { context = (FacebookContext)Session["context"]; } bool result = await serviceUsers.AdministrationAvtoritetAdd(context, UserId, ""); return(Json(result, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Podyaka(FacebookContext context, string PostId, bool IsLike) { if (context == null) { context = (FacebookContext)Session["context"]; } string FromUserId = context.UserId; var post = await context.Client.GetFacebookObjectAsync <FacebookPost>(PostId); string ToUserId = post.From.Id; servicePosts.Podyaka(FromUserId, PostId, ToUserId, IsLike); return(Json(1, JsonRequestBehavior.AllowGet)); }
public ActionResult Index(FacebookContext context, bool?debug = false) { //var fs = new FacebookServices(); //fs.GetCurrentUser("CAAEWkqzCCHYBACFe04a09eZAUvDjBmk1CDIe4aZBTJB8tVWea8EmZCN24ETgEnrqAWoTYLpezdL0FrYJbyE0tODcrqcj57gpMqJQdCxyOZAARCcVKocVPI5lBFDtzEf0qOxBQ2sCgzSQg3VX6YBlg8BtxUuxZBZCjW03ObrHKm2NwNNKVTN6atkhH9JnTNJdIcONBFuYUmp1LQYwMPr0dD"); FacebookLayoutToken facebookPageToken = null; FbSignedRequestToken signedRequest; if (debug == null || !(bool)debug) { if (!ModelState.IsValid) { return(View("Error")); } dynamic signedRequestJson = context.Client.ParseSignedRequest(Utils.GetKeyValue("Facebook:AppSecret"), Request.Params["signed_request"]); signedRequest = JsSerializer.Deserialize <FbSignedRequestToken>(signedRequestJson.ToString()); } else { #region debug mode const string json = "{\"algorithm\": \"HMAC-SHA256\",\"issued_at\": 1404917218,\"page\": {\"id\": \"384502031623764\",\"liked\": false,\"admin\": true},\"user\": {\"country\": \"il\",\"locale\": \"en_US\",\"age\": {\"min\": 21}}}"; signedRequest = JsSerializer.Deserialize <FbSignedRequestToken>(json); #endregion } Logger.Debug("signed request::" + JsSerializer.Serialize(signedRequest)); if (signedRequest.page != null) { facebookPageToken = new FacebookLayoutToken { Liked = signedRequest.page.liked , Admin = signedRequest.page.admin , TrackingId = signedRequest.page.id , AccessToken = context != null ? context.AccessToken : string.Empty }; if (facebookPageToken.Admin) { facebookPageToken.Settings = User.Identity.IsAuthenticated ? GetSettingsViewToken(facebookPageToken.TrackingId) : facebookPageToken.TrackingId.ToDefaultSettingsToken(); } } return(facebookPageToken == null?View("Error") : View("FacebookFrames", facebookPageToken)); }
public async Task <ActionResult> RecommendGifts(string friendId, FacebookContext context) { if (!String.IsNullOrEmpty(friendId)) { var friend = await context.Client.GetFacebookObjectAsync <MyAppUserFriend>(friendId); if (friend != null) { var products = await RecommendationEngine.RecommendProductAsync(friend); ViewBag.FriendName = friend.Name; return(View(products)); } } return(View("Error")); }
public static void ClassInitialize(TestContext ctx) { var syncPath = SyncPath; if (!Directory.Exists(syncPath)) { Directory.CreateDirectory(syncPath); } var cookieFile = Path.Combine(syncPath, CookieFile); _ctx = new FacebookContext { Logger = (x) => Console.WriteLine(x), CookiesAsString = (File.Exists(cookieFile) ? File.ReadAllText(cookieFile) : null), CookiesWriter = (x) => File.WriteAllText(cookieFile, x), ServiceCredential = "Facebook", }; }
public ActionResult VotingIndex(FacebookContext context, int VotingId) { Session["context"] = context; if (ModelState.IsValid) { var pm = new pmForVotingIndex(); var dbVoting = serviceVoting.GetVotingById(VotingId); pm.VotingInfo = new pmVotingForIndex { Id = dbVoting.Id, Name = dbVoting.Name, IsLock = dbVoting.IsClosed, IsPersonal = dbVoting.IsPeople }; pm.VotingVariants = serviceVoting.GetUserVotes(VotingId, context.UserId); return(View(pm)); } return(View("Error")); }
public async Task <ActionResult> Index(FacebookContext context) { if (ModelState.IsValid) { var user = await context.Client.GetCurrentUserAsync <FacebookUser>(); if (string.IsNullOrEmpty(user.Id)) { return(RedirectToAction("Anonymous")); } return(View(user)); } return(Redirect("https://apps.facebook.com/billmorris")); }
public IEnumerable <FacebookSimpleUser> GetUsersForRating(FacebookContext context, int from) { List <FacebookSimpleUser> result = new List <FacebookSimpleUser>(); var dbUsers = db.GetUsersSortedByAvtoritet(from + 10); var dbNeedUsers = GetNext <GetUsersSortedByAvtoritet_Result>(dbUsers, from, 10); foreach (var dbUser in dbNeedUsers) { var ratingUser = new FacebookSimpleUser(db.Users.Single(u => u.UserId == dbUser.UserId)); ratingUser.PositionInAvtoritet = (int)dbUser.RowNumber.Value; ratingUser.Avtoritet = Math.Round(dbUser.Avtoritet + AvtoritetConts, 2); result.Add(ratingUser); } return(result); }
public ValidateWriteFeedParamsNoAccessTokenTests() { _facebookContext = new FacebookContext(new FacebookSettings()); }
public ValidateWriteFeedParamsDummyAccessTokenTests() { _facebookContext = new FacebookContext(new FacebookSettings { AccessToken = "dummy_access_token" }); }
public WriteFeedTests() { _fbContext = new FacebookContext(new FacebookSettings { AccessToken = Helpers.AccessToken }); }
public virtual void OnAuthorization(AuthorizationContext filterContext) { if (filterContext == null) { throw new ArgumentNullException("filterContext"); } IEnumerable<FacebookAuthorizeAttribute> authorizeAttributes = filterContext.ActionDescriptor .GetCustomAttributes(typeof(FacebookAuthorizeAttribute), inherit: true) .Union(filterContext.ActionDescriptor.ControllerDescriptor .GetCustomAttributes(typeof(FacebookAuthorizeAttribute), inherit: true)) .OfType<FacebookAuthorizeAttribute>(); if (!authorizeAttributes.Any()) { return; } FacebookClient client = _config.ClientProvider.CreateClient(); HttpRequestBase request = filterContext.HttpContext.Request; dynamic signedRequest = FacebookRequestHelpers.GetSignedRequest( filterContext.HttpContext, rawSignedRequest => { return client.ParseSignedRequest(rawSignedRequest); }); string userId = null; string accessToken = null; if (signedRequest != null) { userId = signedRequest.user_id; accessToken = signedRequest.oauth_token; } NameValueCollection parsedQueries = HttpUtility.ParseQueryString(request.Url.Query); HashSet<string> requiredPermissions = PermissionHelper.GetRequiredPermissions(authorizeAttributes); bool handleError = !String.IsNullOrEmpty(parsedQueries["error"]); // This must occur AFTER the handleError calculation because it modifies the parsed queries. string redirectUrl = GetRedirectUrl(request, parsedQueries); // Check if there was an error and we should handle it. if (handleError) { Uri errorUrl; if (String.IsNullOrEmpty(_config.AuthorizationRedirectPath)) { errorUrl = DefaultAuthorizationRedirectUrl; } else { errorUrl = GetErroredAuthorizeUri(redirectUrl, requiredPermissions); } filterContext.Result = CreateRedirectResult(errorUrl); // There was an error so short circuit return; } FacebookContext facebookContext = new FacebookContext { Client = client, SignedRequest = signedRequest, AccessToken = accessToken, UserId = userId, Configuration = _config }; PermissionContext permissionContext = new PermissionContext { FacebookContext = facebookContext, FilterContext = filterContext, RequiredPermissions = requiredPermissions, }; // Check if we need to prompt for default permissions. if (signedRequest == null || String.IsNullOrEmpty(userId) || String.IsNullOrEmpty(accessToken)) { PromptDefaultPermissions(permissionContext, redirectUrl); } else if (requiredPermissions.Any()) { PermissionsStatus currentPermissionsStatus = _config.PermissionService.GetUserPermissionsStatus(userId, accessToken); // Instead of performing another request to gather "granted" permissions just parse the status IEnumerable<string> currentPermissions = PermissionHelper.GetGrantedPermissions(currentPermissionsStatus); IEnumerable<string> missingPermissions = requiredPermissions.Except(currentPermissions); // If we have missing permissions than we need to present a prompt or redirect to an error // page if there's an error. if (missingPermissions.Any()) { permissionContext.MissingPermissions = missingPermissions; permissionContext.DeclinedPermissions = PermissionHelper.GetDeclinedPermissions(currentPermissionsStatus); permissionContext.SkippedPermissions = PermissionHelper.GetSkippedPermissions( filterContext.HttpContext.Request, missingPermissions, permissionContext.DeclinedPermissions); PromptMissingPermissions(permissionContext, redirectUrl); } } }
public FacebookUser GetFacebookUser(IBucket bucket) { var facebookContext = new FacebookContext(_facebookSettings); return facebookContext.Get<FacebookUser>(bucket.Items[FacebookObject.KeyId].Value.ToString(), null); }