Introduction
This articles describes a simple tutorial explaining:
- Setting a Facebook status through a C# application
- 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:
="1.0"="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:
="1.0"="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