Click here to Skip to main content
11,565,672 members (44,762 online)
Click here to Skip to main content

C# Application Integration with Facebook & Twitter with oAuth

, 9 May 2012 Public Domain 128.4K 24.4K 72
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.

You may also be interested in...

Comments and Discussions

 
QuestionCan I avoid the log in screen Pin
shrishjain1-Jan-15 17:26
membershrishjain1-Jan-15 17:26 
QuestionToken Null Pin
Jose Murillo13-Nov-14 8:19
memberJose Murillo13-Nov-14 8:19 
QuestionError Pin
Member 1104240127-Aug-14 23:37
memberMember 1104240127-Aug-14 23:37 
AnswerRe: Error Pin
EveryNameIsTakenEvenThisOne10-Dec-14 7:13
memberEveryNameIsTakenEvenThisOne10-Dec-14 7:13 
QuestionAccess token is null Pin
Member 77988737-Jul-14 19:05
memberMember 77988737-Jul-14 19:05 
GeneralWhy i am getting null in url Pin
vivekvolt3-Mar-14 0:26
membervivekvolt3-Mar-14 0:26 
GeneralMy vote of 5 Pin
Manoj Gupta Jhansi10-Sep-13 21:42
memberManoj Gupta Jhansi10-Sep-13 21:42 
GeneralMy vote of 5 Pin
Anurag Gandhi24-Aug-13 7:24
memberAnurag Gandhi24-Aug-13 7:24 
QuestionLike a facebook status? Pin
LamboLambo3-Jun-13 22:42
memberLamboLambo3-Jun-13 22:42 
QuestionCan I post with multiple accounts on facebook? Pin
Agustín Martínez Martínez14-May-13 15:28
memberAgustín Martínez Martínez14-May-13 15:28 
Questionmmm Pin
Member 1004125411-May-13 10:50
memberMember 1004125411-May-13 10:50 
QuestionPost to Facebook Page Pin
Bhimani Hiral17-Apr-13 10:30
memberBhimani 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 Pin
Member 987064827-Feb-13 15:48
memberMember 987064827-Feb-13 15:48 
GeneralMy vote of 5 Pin
ppdeva19-Feb-13 21:53
memberppdeva19-Feb-13 21:53 
QuestionNice Post Pin
Manohar R Prabhu5-Feb-13 19:18
memberManohar R Prabhu5-Feb-13 19:18 
QuestionNice Post Pin
RaviSuhag4-Feb-13 20:50
memberRaviSuhag4-Feb-13 20:50 
Questionsmall change Pin
geodeath10-Jan-13 23:33
membergeodeath10-Jan-13 23:33 
AnswerRe: small change Pin
Niranjan Kumar Mahendralingam21-May-13 20:42
memberNiranjan Kumar Mahendralingam21-May-13 20:42 
QuestionNice Job Pin
Princess Dimaculangan5-Jan-13 14:58
memberPrincess Dimaculangan5-Jan-13 14:58 
Questionauthentication Pin
audaijihad10-Dec-12 9:31
memberaudaijihad10-Dec-12 9:31 
QuestionHow can we build something like this using .Net 3.5 Pin
P Srikanth Gautham3-Dec-12 0:24
memberP Srikanth Gautham3-Dec-12 0:24 
GeneralMy vote of 4 Pin
Burak Tunçbilek20-Sep-12 6:22
memberBurak Tunçbilek20-Sep-12 6:22 
GeneralRe: My vote of 4 Pin
Umer Aziz Malik24-Sep-12 23:22
memberUmer Aziz Malik24-Sep-12 23:22 
QuestionThis is very urgent Pin
anusha saxena17-Sep-12 20:04
memberanusha saxena17-Sep-12 20:04 
AnswerRe: This is very urgent Pin
Umer Aziz Malik24-Sep-12 23:23
memberUmer Aziz Malik24-Sep-12 23:23 

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 | Terms of Use | Mobile
Web03 | 2.8.150624.2 | Last Updated 9 May 2012
Article Copyright 2012 by Umer Aziz Malik
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid