Asp.Net

How to Integrate Asp.Net application in Facebook


Hi,

Someone asked me how to create facebook app day before yesterday and he wanted to integrate existing asp.net webpage in this facebook app. I was not much aware about facebook integration but got to know that facebook doesn’t have any api for asp.net to integrate webpage instead they have for php and python. So I googled and then find very good dotnet toolkit for facebook app which is from Microsoft (Facebook Developer Kit). We can integrate desktop or web app using this toolkit. So I thought I should make a sample app and share on this platform.

Below are some steps”:

Before creating facebook app you need to have facebook account.

Setting up Facebook App

  • To create facebook app click on Developer section 
  • Click on Set up New App button.
  • Agree Facebook terms and click on Create App

Fb_CreateApp_thumb1

  • Put Security Check keywords.
  • Click on Submit.
  • Fill basic information about app.

fb_BasicInfo_thumb1

  • Click on Facebook Integration tab.
  • Put Name of Canvas page.
  • Before putting URL of webpage of your website, I want to show how your page can get callback from facebook app. So first we create webpage in our website:
  • Create asp.net website in Visual studio.
  • Add reference of Facebook.dll from “C:\Program Files\Coding4Fun\Facebook\Binaries”. This dll will be placed after installing Facebook Developer kit on your machine.
  • Create instance of FacebookService object. you can copy facebook app api key and secret key from application page on facebook in source code.

 

fb_appkey_thumb1

put above values in FACEBOOK_API_KEY and FACEBOOK_SECRET constants respectively.

you can get user_id of facebook who requested this application by calling

string userId = Session["Facebook_userId"] as String;

you can also get many information about user like name, sex, location,friends etc.

User usr=_fbService.GetUserInfo();

fb_userInfo_code_thumb2

Source Code

using System;
using Facebook;
public partial class Facebook_ConnectFacebook : System.Web.UI.Page
{
    Facebook.Components.FacebookService _fbService = new Facebook.Components.FacebookService();
    private const string FACEBOOK_API_KEY = "191856207506775";
    private const string FACEBOOK_SECRET = "820c0b05b14a09365e072c8d37a8c49f";

    protected void Page_Load(object sender, EventArgs e)
    {
        _fbService.ApplicationKey = FACEBOOK_API_KEY; _fbService.Secret = FACEBOOK_SECRET;
        _fbService.IsDesktopApplication = false;
        string sessionKey = Session["Facebook_session_key"] as String;
        string userId = Session["Facebook_userId"] as String;
        
	// When the user uses the Facebook login page, the redirect back here 
	// will will have the auth_token in the query params 
        
	string authToken = Request.QueryString["auth_token"];
        
	// We have already established a session on behalf of this user 
        if (!String.IsNullOrEmpty(sessionKey))
        {
            _fbService.SessionKey = sessionKey; _fbService.UserId = userId;
        }
        // This will be executed when Facebook login redirects to our page         
        else if (!String.IsNullOrEmpty(authToken))
        {
            _fbService.CreateSession(authToken);
            Session["Facebook_session_key"] = _fbService.SessionKey;
            Session["Facebook_userId"] = _fbService.UserId;
            Session["Facebook_session_expires"] = _fbService.SessionExpires;
        }
        // Need to login         
        else
        {
            Response.Redirect(@"http://www.Facebook.com/login.php?api_key=" + _fbService.ApplicationKey + @"&v=1.0\");
        }

        User usr = _fbService.GetUserInfo();
        string t = string.Format("User Name:{0}, Sex:{1}, Location: {2}", usr.Name, usr.Sex, usr.CurrentLocation.City);
        Response.Write(t);
    }
}

Testing


Now we are done with coding. Its time for testing.

  • Run your website.
  • Put webaddress of your webpage in facebook developer section as canvas URL.
  • Canvas type should be IFrame.

fb_canvasUrl_thumb1

  • Click on Save changes.
  • now Facebook app has created.

image_thumb2

  • Now open app url like http://apps.facebook.com/testneeraj/ on browser .
  • First time authToken will not authorize from facebook because you need to agree on “Allow Access” information.

image_thumb4

  • Click on facebook banner.
  • It will ask Request for Permission. Click Allow.

image_thumb10

  • It will show all basic information of user on webpage.

image_thumb15

  • After that you can publish your app but having restriction from facebook that your application should 10 active member per month.

 

    I hope this article will give good knowledge about integration with facebook app. Please share your comments and feedback with me.

    Advertisements

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s