Results 1 to 1 of 1
-
13th Sep 2011, 10:02 PM #1OPMemberWebsite's:
mjcoder.co.uk mjcoder.posterous.comHELP: Facebook Permission Page Request (C#) ASP.NET MVC
i have created a page on facebook and using MVC to create the content etc
when the user clicks like it will notify the user that you have liked the page, what i want to do is now to display their information on the page. EG= First Name, Last Name, Birthday, Photos etc... Im new to MVC and all this facebook intergration, any help will be much appreciated.
If in the wrong section please move to appropriate area, thanks in advance
Here is what i have done so far;
Index.cshtml
Code:@model MVCFacebookTestApp.Models.Home @{ ViewBag.Title = "Index"; } <h1>Index</h1> @Model.TestString <br /><br /> @Model.TestString2 @if (Model.IsLiked) { <div id="fb-root"></div> <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> <script type="text/javascript"> FB.init({ appId: '123233914444256', status: true, cookie: true, xfbml: false, oauth: true }); FB.ui({ method: 'permissions.request', 'perms': 'user_birthday,user_relationship_details,read_stream', 'display': 'iframe' }, // FB.ui({ // method: "stream.publish", // display: "iframe", // user_message_prompt: "Publish This!", // message: "I love Redstar Creative!", // attachment: { // name: "Darren has a gift!", // caption: "Darren has tested his skills and did extremely well", // description: "Here is a list of Darren's skills:", // href: " ", // media:[{"type":"image","src":" ","href":" "}], // properties:{ // "1)":{"text":"Reading","href":" "}, // "2)":{"text":"Math","href":" "}, // "3)":{"text":"Farmville","href":" "} // } // }, // action_links: [{ text: 'Test yourself', href: '' }] // }, // function(response) { // if (response && response.post_id) { // //alert('Post was published.'); // } else { // //alert('Post was not published.'); // } // } // ); // FB.ui( // { // 'method': 'fbml.dialog', // 'display': 'dialog', // 'fbml': "<h1>this is some fbml markup</h1>", // 'width': 575 // }, // function() { // alert(true, 'callback was invoked'); // } // ); function (response) { // check response.perms that it has all the required permissions... if so, continue to next page. // TODO should be a better way to do this since UI checks perms // if (response.perms != null && isSetProperSubset(permissions.split(","), response.perms.split(","))) { // top.location.href = "http://apps.facebook.com/fbdevwiki/" + nextUrl; // } alert("hit"); } ); </script> }
Code:using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MVCFacebookTestApp.Models; using Facebook; using Facebook.Web; namespace MVCFacebookTestApp.Controllers { public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { string request = Request.Form["signed_request"]; FacebookApplication app = new FacebookApplication(); FacebookSignedRequest result = FacebookSignedRequest.Parse(app.InnerCurrent, request); dynamic data = result.Data; bool liked = data.page.liked; if (!liked) { Home h = Home.NotLiked(); return View(h); } else { Home h = Home.Liked(); var fbRequest = FacebookWebContext.Current; if (fbRequest.IsAuthorized()) { var fb = new FacebookWebClient(fbRequest); // dynamic result = fb.Get("/me"); } else { //FacebookWebAuthorizer a = new FacebookWebAuthorizer(fbRequest); //a.ReturnUrlPath = "http://localhost:49269/"; //a.Authorize(); } h.TestString2 += " Ha! We captured this data about you!"; h.TestString2 += " Name: ..."; h.TestString2 += " Age: ..."; h.TestString2 += " Location: ..."; return View(h); } } } }
Code:using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVCFacebookTestApp.Models { public class Home { public string TestString { get; set; } public string TestString2 { get; set; } public bool IsLiked { get; set; } private Home() { } public static Home NotLiked() { Home h = new Home(); h.TestString = "Hello World"; h.TestString2 = "Welcome to RedStar Creative"; h.IsLiked = false; return h; } public static Home Liked() { Home h = new Home(); h.TestString = "Hello World"; h.TestString2 = "You liked RedStar"; h.IsLiked = true; return h; } } }]
Code:using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Facebook; using System.Web.Security; using MVCFacebookTestApp.Models; namespace MVCFacebookTestApp.Controllers { public class AccountController : Controller { private const string redirectUrl = "http://localhost:49269/Account/OAuth"; // // GET: /Account/OAuth/ public ActionResult OAuth(string code, string state) { FacebookOAuthResult oauthResult; if (FacebookOAuthResult.TryParse(Request.Url, out oauthResult)) { if (oauthResult.IsSuccess) { var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current); oAuthClient.RedirectUri = new Uri(redirectUrl); dynamic tokenResult = oAuthClient.ExchangeCodeForAccessToken(code); string accessToken = tokenResult.access_token; //DateTime expiresOn = DateTime.MaxValue; //if (tokenResult.ContainsKey("expires")) //{ // DateTimeConvertor.FromUnixTime(tokenResult.expires); //} //FacebookClient fbClient = new FacebookClient(accessToken); //dynamic me = fbClient.Get("me?fields=id,name"); //long facebookId = Convert.ToInt64(me.id); //InMemoryUserStore.Add(new FacebookUser //{ // AccessToken = accessToken, // Expires = expiresOn, // FacebookId = facebookId, // Name = (string)me.name, //}); //FormsAuthentication.SetAuthCookie(facebookId.ToString(), false); //// prevent open redirection attack by checking if the url is local. //if (Url.IsLocalUrl(state)) //{ // return Redirect(state); //} //else //{ // return RedirectToAction("Index", "Home"); //} } } return RedirectToAction("Index", "Home"); } // // GET: /Account/LogOff/ //public ActionResult LogOff() //{ // FormsAuthentication.SignOut(); // var oAuthClient = new FacebookOAuthClient(); // oAuthClient.RedirectUri = new Uri(logoffUrl); // var logoutUrl = oAuthClient.GetLogoutUrl(); // return Redirect(logoutUrl.AbsoluteUri); //} } }
b1gj4v Reviewed by b1gj4v on . HELP: Facebook Permission Page Request (C#) ASP.NET MVC i have created a page on facebook and using MVC to create the content etc when the user clicks like it will notify the user that you have liked the page, what i want to do is now to display their information on the page. EG= First Name, Last Name, Birthday, Photos etc... Im new to MVC and all this facebook intergration, any help will be much appreciated. If in the wrong section please move to appropriate area, thanks in advance Here is what i have done so far; Index.cshtml Rating: 5
Sponsored Links
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Similar Threads
-
Facebook Auto status like to get friend request daily
By diablo9975 in forum Completed TransactionsReplies: 8Last Post: 27th Feb 2012, 03:33 AM -
[Selling] Facebook Autopilot to get 500+ friend request daily
By w3nh4o in forum Completed TransactionsReplies: 98Last Post: 6th Feb 2012, 09:41 AM -
[Selling] [Cheap] [HOT] Facebook Fan Page Advertising on page with 280K+ likes Heavy Traffic★
By nirmalpattara in forum Completed TransactionsReplies: 9Last Post: 3rd Feb 2012, 09:32 AM -
(HELP) Error [#1004] You do not have permission to access this page
By DXS in forum IP.BoardReplies: 3Last Post: 8th Aug 2010, 09:00 PM
themaLeecher - leech and manage...
Version 5.02 released. Open older version (or...