Facebook authorization (facebook login) and access [code] querystring parameter value using facebook nuget package in C# application.
  1. Need to install "facebook" nuget package in c# project.
  2. Must create your Facebook app from https://developers.facebook.com/ and store appId and appSecret in your application.
  3. Execute below code for facebook authorization and call "FacebookLogin" method on action event. fig-1
    1. //fig-1
    2. [HttpPost]
    3. public string FacebookLogin() {
    4. try {
    5. // Instantiate the Facebook client
    6. var oauth = new FacebookClient();
    7. var fbLoginUrl = oauth.GetLoginUrl(new {
    8. client_id = "Enter ApplicationID",
    9. client_secret = "Enter ApplicationSecret",
    10. redirect_uri = "Enter RedirectUri",
    11. response_type = "code",
    12. scope = "manage_pages,email" // Add other permissions as needed
    13. });
    14. var fbloginUri = fbLoginUrl.AbsoluteUri;
    15. Session["ClientId"] = "Enter ApplicationID",
    16. return fbloginUri;
    17. } catch (Exception) {
    18. return null;
    19. }
    20. } // This is just a sample script. Paste your real code (javascript or HTML) here.
    21. if ('this_is' == /an_example/) {
    22. of_beautifier();
    23. } else {
    24. var a = b ? (c % d) : e[f];
    25. }
  4. Here, you get below url for facebook login page,

    https://www.facebook.com/login.php?skip_api_login=?&api_key=?&signed_next=?&next=?&cancel_url=?&display=?&locale=?&logger_id=?

  5. After authoriing Facebook user, you get below url with [code] querystrings parameter:

    http://localhost:url?code=?

  6. You need to store [code] query string parameter value in session and call below function in page_load event. fig-2
    1. //fig-2
    2. public void GetQueryStringValue() {
    3. string _code = string.Empty;
    4. if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.UrlReferrer.Query)) {
    5. List < string > collection = GetQueryStringCollection(System.Web.HttpContext.Current.Request.UrlReferrer.Query, 0);
    6. if (collection != null && collection.Count > 0) {
    7. _code = System.Web.HttpContext.Current.Server.UrlDecode(collection[0]);
    8. Session["code"] = _code;
    9. }
    10. }
    11. }
    12. // Get Querystring name value collection
    13. public List < string > GetQueryStringCollection(string url, int count) {
    14. string keyValue = string.Empty;
    15. List < string > collection = new List < string > ();
    16. string[] querystrings = url.Split('&');
    17. if (querystrings != null && querystrings.Count() > count) {
    18. for (int i = 0; i < querystrings.Count(); i++) {
    19. string[] pair = querystrings[i].Split('=');
    20. collection.Add(pair[1]);
    21. }
    22. }
    23. return collection;
    24. }