In this article I will explain how to post publish status message, link, video or image to FaceBook Wall using FaceBook Graph API and Free ASP Snippets FaceBook API in ASP.Net.
 
 
Create FaceBook Application and get App Id
You will need to create an application and get an API Key and API Secret.
 
 
HTML Markup
The HTML Markup is very simple. There’s an ASP.Net Button btnConnect to authorize the FaceBook user and get the access token, a multiline ASP.Net TextBox txtMessage to allow user type the message to be published on the Facebook wall and finally another ASP.Net Button to trigger the process.
<asp:Button ID="btnAuthorize" runat="server" Text="Authorize" OnClick="Authorize" /><hr />
<asp:Panel ID="pnlPost" runat="server" Enabled="false">
      Message: <asp:TextBox ID="txtMessage" runat="server" TextMode="MultiLine"></asp:TextBox><br />
      <asp:Button ID="btnPost" runat="server" Text="Post to Wall" OnClick="Post" />
</asp:Panel>
 
 
Namespaces
You will need to import the following Namespaces.
C#
using ASPSnippets.FaceBookAPI;
using System.Collections.Generic;
 
VB.Net
Imports ASPSnippets.FaceBookAPI
Imports System.Collections.Generic
 
 
Authorize the User using FaceBook Graph API
Firstly we will need to authorize the user using the FaceBook Graph API and get the Access Token so that we can post on the user’s FaceBook wall.
In the below code we are authorizing the user using FaceBook and also asking him to provide permission to the application to post on the user’s FaceBook wall.
C#
protected void Page_Load(object sender, EventArgs e)
{
    FaceBookConnect.API_Key = "<Your API Key>";
    FaceBookConnect.API_Secret = "<Your API Secret>";
    if (!IsPostBack)
    {
        string code = Request.QueryString["code"];
        if (!string.IsNullOrEmpty(code))
        {
            ViewState["Code"] = code;
            pnlPost.Enabled = true;
            btnAuthorize.Enabled = false;
        }
    }
}
 
protected void Authorize(object sender, EventArgs e)
{
    FaceBookConnect.Authorize("publish_actions", Request.Url.AbsoluteUri);
}
 
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    FaceBookConnect.API_Key = "<Your API Key>"
    FaceBookConnect.API_Secret = "<Your API Secret>"
    If Not IsPostBack Then
        Dim code As String = Request.QueryString("code")
        If Not String.IsNullOrEmpty(code) Then
            ViewState("Code") = code
            pnlPost.Enabled = True
            btnAuthorize.Enabled = False
        End If
    End If
End Sub
 
Protected Sub Authorize(ByVal sender As Object, ByVal e As EventArgs)
    FaceBookConnect.Authorize("publish_actions", Request.Url.AbsoluteUri)
End Sub
 
The below screenshot displays the FaceBook page asking the user to provide permission to the application to publish content on user’s wall.
Authorize the user and get permission from the user to publish on wall
 
 
Share, publish and post content on FaceBook wall
Below is the code to post the content onto the user’s FaceBook Wall.
C#
protected void Post(object sender, EventArgs e)
{
    Dictionary<string, string> data = new Dictionary<string, string>();
    data.Add("message", txtMessage.Text);
    FaceBookConnect.Post(ViewState["Code"].ToString(), "me/feed", data);
    Response.Redirect("http://www.facebook.com/me/");
}
 
VB.Net
Protected Sub Post(ByVal sender As Object, ByVal e As EventArgs)
    Dim data As Dictionary(Of String, String) = New Dictionary(Of String, String)
    data.Add("message", txtMessage.Text)
    FaceBookConnect.Post(ViewState("Code").ToString, "me/feed", data)
    Response.Redirect("http://www.facebook.com/me/")
End Sub

The above code posts a simple Text Message as shown in the below screenshot.
Post, publish and share a simple text message wall post
 
In order to post a message with image, link and message you need to do as following.
C#
protected void Post(object sender, EventArgs e)
{
    Dictionary<string, string> data = new Dictionary<string, string>();
    data.Add("link", "http://www.aspsnippets.com");
    data.Add("picture", "//www.aspsnippets.com/images/Blue/Logo.png");
    data.Add("caption", "ASP Snippets");
    data.Add("name", "ASP Snippets");
    data.Add("message", "I like ASP Snippets");
    FaceBookConnect.Post(ViewState["Code"].ToString(), "me/feed", data);
}
 
VB.Net
Protected Sub Post(ByVal sender As Object, ByVal e As EventArgs)
    Dim data As Dictionary(Of String, String) = New Dictionary(Of String, String)
    data.Add("link", "http://www.aspsnippets.com")
    data.Add("picture", "//www.aspsnippets.com/images/Blue/Logo.png")
    data.Add("caption", "ASP Snippets")
    data.Add("name", "ASP Snippets")
    data.Add("message", "I like ASP Snippets")
    FaceBookConnect.Post(ViewState("Code").ToString, "me/feed", data)
End Sub
 
The below screenshot displays a post with image, link and message.
Post, publish and share a image, link and message on wall post.
 
 
Demo
 
 
Downloads
You can download the complete source code in VB.Net and C# along with the ASPSnippets.FaceBookAPI DLL using the download link provided below.