Click here to Skip to main content
Click here to Skip to main content
Go to top

C# Application Integration with Facebook & Twitter with oAuth

, 9 May 2012
Rate this:
Please Sign up or sign in to vote.
This is a very basic level tutorial about authenticating with Facebook and Twitter and setting your status with it.

Introduction

This articles describes a simple tutorial explaining:

  1. Setting a Facebook status through a C# application
  2. Sending a Tweet through a C# application

Background

Last week i had to do a little proof of concept about integration of Twitter & Facebook with a C# application. All I had to do was post a simple status on users' Facebook wall or post a tweet. What I was surprised after considerable research was the lack of basic tutorials/resources that were available. I did not come across a simple "Hello World" example to get me started. So I had to go through some high level tutorials and extract a basic POC; which iam going to share with the community.

This is my first share, so i would appreciate any suggested improvements . Also I am very much open to any suggestion/corrections. I would love to learn more from some really good developers of the community.

Using the code

FACEBOOK:  

Let's start by first doing the Facebook part of this article. 

To set a status on Facebook using your C# application, first of all you will need to create an application by going to the following link:

https://developers.facebook.com/apps

  • Click on the CREATE NEW APP button.

  • Fill in the required information and click Continue

  • Now your application has been created. There are 2 things that you need to take note of; The App ID & AppSecret. We will be using them later on.

   

  • Now let us move on to the coding. Make a new Windows Forms Project. We will add a WebBrowser to our main form.
  • The App.config of your project should look something like this:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="EnableSqlDependency" value="true" />
    <add key="ApplicationId" value="<YOUR APP ID GOES HERE>" />
    <add key="ApplicationUrl" value="" />
    <add key="ApiKey" value="" />
    <add key="ApplicationSecret" value="<YOUR APP SECRET GOES HERE>" />
    <add key="ExtendedPermissions" value="offline_access" />
  </appSettings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>
</configuration>

  • Now we'll move on to authorizing the application. For this you'll have to login to your Facebook account when the application prompts. This will give you the access token that you would need to communicate. 
  • We'll be using the Facebook C# SDK (http://csharpsdk.org/) You can get it from the mentioned link
  • Now we are ready to post our status:

var fb = new FacebookClient(this.AccessToken);
dynamic result = fb.Post("me/feed", new { message = "My second wall post using Facebook C# SDK" });

  • The complete project is attached with the article, All you have to do to make it work is to enter your App ID & App secret in the app.config.

Twitter

Now let us move on to sending a tweet on Twitter. For this purpose we will be using a wrapper name Tweetsharp. It is widely regarded as the best in the business when it comes to integrating your application with twitter. Get the library from https://github.com/danielcrenna/tweetsharp.

To send a Tweet using your C# application,  first of all you will need to create an application by going to the following link:

https://dev.twitter.com/

  • Click on Create an app
  • After signing in with your twitter account credentials, you would be taken to a form where you need to fill in required information in order to create the application.
  • After you are done creating your application, you will be taken to your application's page. You need to take note of the keys highlighted in the following figure:

  • In case your Access token & Access Token Secret have not yet been generated, create them 1st. 
  • Now let us move on to the coding. Make a new Console Application.  
  • The App.config of your project should look something like this:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="ConsumerKey" value="<YOUR CONSUMER KEY GOES HERE>" />
    <add key="ConsumerSecret" value="<YOUR CONSUMER SECRET GOES HERE>" />
    <add key="AccessToken" value="<YOUR ACCESS TOKEN GOES HERE>" />
    <add key="AccessTokenSecret" value="<ACCESS TOKEN SECRET GOES HERE>" />
  </appSettings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" 
            publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

  • Using the TweetSharp library, we'll simple send a tweet as follows:

 TwitterStatus twitterStatus = twitterService.SendTweet(tweetMessage); 

Conclusion 

I would like to acknowledge the help that i took from the Facebook C# SDK Samples as well as the TweetSharp samples. I would love any input to this article to make it better. This is my first time, so dont be too hard on me Smile

License

This article, along with any associated source code and files, is licensed under A Public Domain dedication

Share

About the Author

Umer Aziz Malik
Software Developer (Senior) Aurora Solutions (pvt) Ltd.
Pakistan Pakistan
When I was born, I was the 5,205,164,370th person alive on Earth & the 80,219,140,249th person to have lived since history began. Analogue at birth, digital by design. Leading the Trading Platforms teams at Aurora Solutions. A Manchester United aficionado. Always hungry. Extremely curious. Never idle. Usually found around my laptop, but when if you can’t find me check the football field or the cinema.
Follow on   Twitter   LinkedIn

Comments and Discussions

 
QuestionError PinmemberMember 1104240127-Aug-14 23:37 
QuestionAccess token is null PinmemberMember 77988737-Jul-14 19:05 
GeneralWhy i am getting null in url Pinmembervivekvolt3-Mar-14 0:26 
GeneralMy vote of 5 PinmemberManoj Gupta Jhansi10-Sep-13 21:42 
GeneralMy vote of 5 PinmemberAnurag Gandhi24-Aug-13 7:24 
QuestionLike a facebook status? PinmemberLamboLambo3-Jun-13 22:42 
QuestionCan I post with multiple accounts on facebook? PinmemberAgustín Martínez Martínez14-May-13 15:28 
Questionmmm PinmemberMember 1004125411-May-13 10:50 
QuestionPost to Facebook Page PinmemberBhimani Hiral17-Apr-13 10:30 
I want to Post the Message or Status to a Facebook Page That i Created in my FB Account
I am Admin of Page
now i Want to Make a Status to FB Page From My Desktop Application so now What change i Have to Do in this Application Coding
 
Please Help Me...
 
hiral2cool
Questionthank you PinmemberMember 987064827-Feb-13 15:48 
GeneralMy vote of 5 Pinmemberppdeva19-Feb-13 21:53 
QuestionNice Post PinmemberManohar R Prabhu5-Feb-13 19:18 
QuestionNice Post PinmemberRaviSuhag4-Feb-13 20:50 
Questionsmall change Pinmembergeodeath10-Jan-13 23:33 
AnswerRe: small change PinmemberNiranjan Kumar Mahendralingam21-May-13 20:42 
QuestionNice Job PinmemberPrincess Dimaculangan5-Jan-13 14:58 
Questionauthentication Pinmemberaudaijihad10-Dec-12 9:31 
QuestionHow can we build something like this using .Net 3.5 PinmemberP Srikanth Gautham3-Dec-12 0:24 
GeneralMy vote of 4 PinmemberBurak Tunçbilek20-Sep-12 6:22 
GeneralRe: My vote of 4 PinmemberUmer Aziz Malik24-Sep-12 23:22 
QuestionThis is very urgent Pinmemberanusha saxena17-Sep-12 20:04 
AnswerRe: This is very urgent PinmemberUmer Aziz Malik24-Sep-12 23:23 
GeneralDisplay newsfeeds on my website PinmemberNaniCh3-Sep-12 21:27 
QuestionFor C# application authorize Pinmembervishal katoch14-Aug-12 9:16 
AnswerRe: For C# application authorize PinmemberUmer Aziz Malik15-Aug-12 0:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web03 | 2.8.140916.1 | Last Updated 9 May 2012
Article Copyright 2012 by Umer Aziz Malik
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid