Click here to Skip to main content
Click here to Skip to main content

Implementing Yahoo! Contact Reader Using ASP.NET

By , 5 Jul 2010
 

Introduction

Mail contact reader have become an exciting feature as new social sites are being introduced or email-campaign becomes a key success factor for online business. I have worked on several projects where app facilitates email contact reading from user’s personal mailing account. Most of the users use free mailing services like Gmail/Hotmail/AOL/Yahoo and the list goes on. Most of the time, I used third party solutions (that saves lots of my time) and those work pretty well. But those solutions I used are not easy to customize according to my needs. So this time, I have decided to find myself a stable solution and I started with a very popular mail service Yahoo!. This article will be helpful for those people who are working with contact reader app and for those who are interested in working with Yahoo! API.

Yahoo! API

The Yahoo! Developer Network (YDN) is Yahoo!'s center for developer resource. YDN contains tools/utilities/gadgets/API docs and samples for developers.You can start using the resources provided by signing yourself for an API key and you are ready to go.

Authentication and Authorization with Yahoo!

Yahoo! offers 3 ways to connect with their services, the first is OpenID to authenticate users, the second one is OAuth to control access to protected data and the third one is OpenID-OAuth Hybrid Protocol, which combines OpenID authentication with OAuth authorization in a single interface. I found OAuth is most convincing and will stick to it for this article. If you want to know more about other 2 authentication models, I suggest you follow this link. Before jumping to the implementation with OAuth model, let's refresh our mind with a quick review of basic OAuth mechanism.

OAuth Authentication Basics

OAuth is the industry-standard authorization method and is used on various platforms. It's an open authorization model based primarily on existing standards that ensures secure credentials can be provisioned and verified by different software platforms. The simplest definition can be OAuth protocol enables users to provide third-party access to their web resources without sharing their passwords (You will find details about the authentication here). OAuth is a secure and quick way to publish and access private data, such as contact lists and updates, and this is why I choose OAuth model to retrieve users' contact information.

Figure 1: Basic OAuth model

You can download the sample code/documentation compatible for .NET from the links below:

Setting up Yahoo! OAuth

In order to use the Yahoo! OAuth, we have to follow a series of steps:

  • Sign Up and Get a Consumer Key: Before you can start making Yahoo! API requests, you need to sign up and submit some details about your application.
  • Get a Request Token: The Request Token is a temporary token used to initiate User authorization for your application. The Request Token tells Yahoo! that you've obtained User approval.
  • Get User Authorization: After getting the Request Token from Yahoo!, your application presents to your Users a Yahoo! authorization page asking them to give permission to your application to access their data.
  • Exchange the Request Token and OAuth Verifier for an Access Token: After your Users authorize your application access to their information, your application needs to exchange the approved Request Token for an Access Token, which tells Yahoo! that your application has been given authorization to access User data.
  • Refresh the Access Token: You can use the Access Token for one hour until it expires. To get a new Access Token for continued use, use the same expired token and the get_token call to be provided a new Access Token.

Let's see how OAuth works with Yahoo! API:

oAuth

Figure 2: Yahoo! OAuth model

Setting Up an API Key

You can request for an API key by navigating this link. You have to fill up the web form before you request for a key. There are 2 steps. The first step is filling out app specific information and request for an API key and the second step is to specify what services can be accessible by the API key. You can choose to access all public resources or alternatively, you can specify which services you are particularly interested in.

Step 1: Setting up App Information & Get API Key

Figure 3: Setting up app information
Configuration Notes
  • Application URL: This is the URL where your application resides.You can point out the root of the application here. For my app, I mentioned http:www.imgalib.com/ as app URL.
  • Choose an appropriate application name (my application name is qcontactreader).
  • Specify app kind, my sample app is web based.
  • Provide a small description about your application.
  • Access scope: Choose "This app requires access to private user data." option as my sample app is going to access the user contact list.
  • Hit Get API key and you are ready to roll.

Step 2 : Specify Permissions with the API Key

Figure 4: Specify permissions
Configuration Notes
  • Choose Yahoo Contact API and allow read permission. This API allows the app to view and/or import a user's Contacts data from the Yahoo! Contacts application.

Please remember the notes mentioned above are used to configure an app based on my needs. Feel free to configure according to your app needs.

Using the Sample Code

The sample code is simplified with the steps mentioned in Fig: 2. As mentioned in step 2 function:

private string GetRequestToken()
{
        string authorizationUrl = string.Empty;
        OAuthBase oauth = new OAuthBase();

        Uri uri = new Uri("https://api.login.yahoo.com/oauth/v2/get_request_token");
        string nonce = oauth.GenerateNonce();
        string timeStamp = oauth.GenerateTimeStamp();
        string normalizedUrl;
        string normalizedRequestParameters;
        string sig = oauth.GenerateSignature
		(uri, ConsumerKey, ConsumerSecret, string.Empty, 
		string.Empty, "GET", timeStamp, nonce, 
		OAuthBase.SignatureTypes.PLAINTEXT, out normalizedUrl, 
		out normalizedRequestParameters); //OAuthBase.SignatureTypes.HMACSHA1
        StringBuilder sbRequestToken = new StringBuilder(uri.ToString());
        sbRequestToken.AppendFormat("?oauth_nonce={0}&", nonce);
        sbRequestToken.AppendFormat("oauth_timestamp={0}&", timeStamp);
        sbRequestToken.AppendFormat("oauth_consumer_key={0}&", ConsumerKey);
        sbRequestToken.AppendFormat("oauth_signature_method={0}&", 
					"PLAINTEXT"); //HMAC-SHA1
        sbRequestToken.AppendFormat("oauth_signature={0}&", sig);
        sbRequestToken.AppendFormat("oauth_version={0}&", "1.0");
        sbRequestToken.AppendFormat("oauth_callback={0}", 
	HttpUtility.UrlEncode("http://www.imgalib.com/demo/yahoo-oauth/default.aspx"));
        ..........
        ..........
        ...........
}

This function builds request to connect with Yahoo! through oAuth and receives Request token and with this token now requests to access user address book by requesting access token:

 private void GetAccessToken(string oauth_token, string oauth_verifier)
 {
     OAuthBase oauth = new OAuthBase();

        Uri uri = new Uri("https://api.login.yahoo.com/oauth/v2/get_token");
        string nonce = oauth.GenerateNonce();
        string timeStamp = oauth.GenerateTimeStamp();
        string sig = ConsumerSecret + "%26" + OauthTokenSecret;

        StringBuilder sbAccessToken = new StringBuilder(uri.ToString());
        sbAccessToken.AppendFormat("?oauth_consumer_key={0}&", ConsumerKey);
        sbAccessToken.AppendFormat("oauth_signature_method={0}&", 
					"PLAINTEXT"); //HMAC-SHA1
        sbAccessToken.AppendFormat("oauth_signature={0}&", sig);
        sbAccessToken.AppendFormat("oauth_timestamp={0}&", timeStamp);
        sbAccessToken.AppendFormat("oauth_version={0}&", "1.0");
        sbAccessToken.AppendFormat("oauth_token={0}&", oauth_token);
        sbAccessToken.AppendFormat("oauth_nonce={0}&", nonce);
        sbAccessToken.AppendFormat("oauth_verifier={0}", oauth_verifier);
        ................
        ................
 }

This step will prompt the user with a permission window. If user allows app to read his/her contact list, then the list is retrieved by:

 private void RetriveContacts()
 {
    Uri uri = new Uri("http://social.yahooapis.com/v1/user/" + 
		OauthYahooGuid + "/contacts?format=XML");
    .........
    .........
 }

If you want to run the sample code, you have to go through a couple of steps, and that starts with setting up an API key described above. Then host the app at the server as Yahoo! needs to communicate with your provided callback URL. Open default.aspx and change these property values with your respective registered key:

    public string ConsumerKey
    {
        get
        {
            return "YOUR_CONSUMER_KEY";
        }
    }
    public string ConsumerSecret
    {
        get
        {
            return "YOUR_CUSTOMER_SECRET_KEY";
        }
    }

Open the GetRequestToken() function, change the callback URL with your callback URL:

sbRequestToken.AppendFormat("oauth_callback={0}", 
	HttpUtility.UrlEncode("http://www.yoursite.com/yahoo-oauth/default.aspx"));

That's it, you are ready to go. You can also navigate to this link to find more details about Yahoo! oauth request format or regarding contact API. Also, you can download the library used for this sample code from here.

Demo at Live

Try this application at live hosted at Yahoo! contact reader demo.

Resources

  • OAuthBase class that supports HMAC-SHA1, RSA-SHA1, and PLAINTEXT signature methods contributed by Mr. Andrew Arnott

History

  • 5th July, 2010: Initial post

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)

About the Author

Shahriar Iqbal Chowdhury/Galib
Technical Lead
Bangladesh Bangladesh
Member
I am a Software Engineer and Microsoft .NET technology enthusiast. Professionally I worked on several business domains and on diverse platforms. I love to learn and share new .net technology and my experience I gather in my engineering career. You can find me from here
 
Personal Site
Personal Blog
FB MS enthusiasts group
About Me

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
Question[Desktop app] C# code to connect to Yahoo/Hotmailmembersavanthhas24 Feb '13 - 1:24 
I am developing Desktop application to connect to Yahoo/Hotmail/Gmail.. which wil get number of unread mail from respective server. Since gmail provides Atom service so i have no question regarding gmail. But i dont know how to connect to yahoo and hotmail.. Please provide details regarding this problem. Smile | :)
Thank You,
Savanth

QuestionHelp with MVC Versionmembercoommark3 Feb '13 - 5:20 
I have attempted without success to implement this in ASP.NET MVC. For instance, MVC does not support:
RegisterStartupScript("refresh", "<script type='text/javascript'>window.opener.location = 'oauth-test.aspx'; self.close();</script>");
 
Any thoughts on this?
GeneralMy vote of 5memberMember 95784242 Dec '12 - 18:55 
really helped this article
GeneralRe: My vote of 5memberShahriar Iqbal Chowdhury4 Dec '12 - 0:09 
thanks Smile | :)
NewsWorkingmemberMember 95784242 Dec '12 - 18:55 
Thanks man You are my hero Wink | ;) Smile | :)
GeneralRe: WorkingmemberShahriar Iqbal Chowdhury4 Dec '12 - 0:09 
Smile | :) thanks
SuggestionWorkingmemberXYD218 Nov '12 - 20:51 
Thank you very much for the helpfull article an code,
it is working with me just like magic,
 
i make it VB not C# ,
if any one want it VB please reply this,
 
For those ask about the error, it cause of 2 reasons:
1- the read check permission when you get the API
2- you try to use it on a domain differant than the domain you resgiter for( just like local host )
 
Thanks again for the article owner
Questioni had some error with default.aspxmemberidan soleymani21 Aug '12 - 11:42 
i didnt understand what i need to create the default.aspx
is not at the files that i download
i got the message :
Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
 
Requested URL: /yahoo-oauth/default.aspx
 

 

thanks
GeneralMy vote of 5membergauravpandey13 Jul '12 - 2:02 
Nicely done, rare content
QuestionNot Working Properly plz Helpmemberraghupurohit7 Jul '12 - 2:27 
when i run it it will show me run time error like this..
 
<!-- Web.Config Configuration File -->
 
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>
 

<!-- Web.Config Configuration File -->
 
<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>
 
Thanks ...
GeneralMy vote of 5memberMohammad A Rahman31 May '12 - 17:56 
Nice
QuestionGetting Errormembersss1234trrt30 Apr '12 - 4:43 
After compiling I got an Error the Remote Server was not found
GeneralMy vote of 4memberMario Majcica29 Mar '12 - 1:53 
You started very well and then kind of rushed by the end. However a nice one! Cheers
Questionremote server returned an error 401 unauthorizedmemberBabuDotNet24 Mar '12 - 2:38 
remote server returned an error 401 unauthorized Confused | :confused: Confused | :confused: Cry | :(( Cry | :((
 
Solution:
 
Select second option in Access scopes
then the following Steps,
Permissions-->Contact-->Click READ radio button--> Click Save And Consumer Key
 
After That U ill get new Consumer Key and Consumer Secret
 
Then u can apply these keys in ur code.
 

 
Thanks,
Blush | :O Keep smile Always Laugh | :laugh: Wink | ;)
QuestionPlease Help Me....!!!memberthinakaran.btech24 Jan '12 - 5:54 
When i run my application first time it's working well...but the nxt time its creating the below pbm...den i colsed my browser aft that again open ma browser its working well but 2 time the same error occur...till close my browser....i need ur help....pls help me if any one....
 
The remote server returned an error: (401) Unauthorized.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
length: 6
stack trace: at System.Net.HttpWebRequest.GetResponse() at test_oauth_test.RetriveContacts() in c:\webapps\zusmlm\Members\oauth-test.aspx.cs:line 390
status: ProtocolError
Status Code: (401) Unauthorized
Status Description: Authorization Required
source: System
headers: 0: 0
headers: 1: chunked
headers: 2: keep-alive
headers: 3: private
headers: 4: application/xml
headers: 5: Tue, 24 Jan 2012 16:50:17 GMT
headers: 6: YTS/1.19.5
headers: 7: HTTP/1.1 r3.ycpi.s1s.yahoo.net (YahooTrafficServer/1.19.5 [cMsSf ])
headers: 8: OAuth oauth_problem="token_rejected", realm="yahooapis.com"
QuestionMy 5memberMarkDaniel5 Jan '12 - 13:14 
Very nice Article! Thanks for sharing
QuestionWhat call back Url needs to be used ?membersamrules11 Nov '11 - 7:25 
I am currently developing Yahoo Contacts importer. It will be used in Web application, but at present I dont know what will be the url on which this application will be hosted. So, what do I use as call back URl. ??
QuestionTo Solve remote server returned an error: (401) Unauthorizedmemberaryan20106 Nov '11 - 2:11 
I have tried your application but it is returning
Exception: The remote server returned an error: (401) Unauthorized.

Can you help to short out the the reason of generating this exception.

I have tried my code for yahoo login but all code is generating same exception.
What is the reason of this exception. And how can i resolve this issue.

Thanks,
Deepak
QuestionI got error (503) Server Unavailable.memberbigorns24 Aug '11 - 0:36 
I am receing this error for next few days, so I do not realy know what to do. I also tried with YQL solution (SELECT * from social.contacts WHERE guid=me) but with no results in response (also no errors). when i opened and click TEST i receive all mine contacts. My Yahoo account is opened a few days ago and I successfully imported contacts in it.
 
http://developer.yahoo.com/yql/console/?_uiFocus=social&q=select%20*%20from%20social.contacts%20where%20guid%3Dme[^]
 

The remote server returned an error: (503) Server Unavailable.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
length: 6
stack trace: at System.Net.HttpWebRequest.GetResponse() at test_oauth_test.RetriveContacts() in d:\hosting\6646041\html\__private\imgalib.com\www\Demo\yahoo-oauth\oauth-test.aspx.cs:line 382
status: ProtocolError
Status Code: (503) ServiceUnavailable
Status Description: Service Unavailable
source: System
headers: 0: 86400
headers: 1: Authorization
headers: 2: ws115.socdir.sp2.yahoo.com
headers: 3: 0
headers: 4: keep-alive
headers: 5: 289
headers: 6: private
headers: 7: application/xml; charset="utf-8"
headers: 8: Wed, 24 Aug 2011 10:25:31 GMT
headers: 9: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
headers: 10: YTS/1.19.5
headers: 11: HTTP/1.1 r1.ycpi.s1s.yahoo.net (YahooTrafficServer/1.19.5 [cMsSf ])
GeneralI got Error !!! HELP !!!!!!!memberv4u.ripal14 Jun '11 - 4:23 
i run the code on server and i got the following error.
 
-------------------------------------------------------------------
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
 
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
 
Source Error:
 
Line 77: get
Line 78: {
Line 79: if (!string.IsNullOrEmpty(Session["Oauth_Token_Secret"].ToString()))
Line 80: return Session["Oauth_Token_Secret"].ToString();
Line 81: else
 

Source File: c:\HostingSpaces\mpage\test.orangestateofmind.com\wwwroot\oauth-test.aspx.cs Line: 79
 
Stack Trace:
 
[NullReferenceException: Object reference not set to an instance of an object.]
test_oauth_test.get_OauthTokenSecret() in c:\HostingSpaces\mpage\test.orangestateofmind.com\wwwroot\oauth-test.aspx.cs:79
test_oauth_test.GetAccessToken(String oauth_token, String oauth_verifier) in c:\HostingSpaces\mpage\test.orangestateofmind.com\wwwroot\oauth-test.aspx.cs:223
test_oauth_test.Page_Load(Object sender, EventArgs e) in c:\HostingSpaces\mpage\test.orangestateofmind.com\wwwroot\oauth-test.aspx.cs:143
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
 
------------------------------------------------------------
 
please help me
GeneralGood article!memberWonde Tadesse30 Apr '11 - 18:10 
Keep it up. My 5 Smile | :)
Wonde Tadesse
MCTS

RantForbidden by its access permissionsmemberNagaraj Muthuchamy24 Apr '11 - 9:22 
I am trying to fetch the contact details using Yahoo API.
 
I have used the oAuth implementation and eveything works fine in my local machine.
 
Problem is, I have deployed my application in shared host, I can see the login and token gathering is working fine,
 
When I try to get the contact details using the same token, It's throwing the following error.
 
innerexception: An attempt was made to access a socket in a way forbidden by its access permissions 68.142.215.20:80
 
It looks like a network realted error. not sure.
 
Have been trying to fix this for 4 hours , but failed .
 
Please help on this issue.

GeneralMy vote of 4memberxerebro22 Apr '11 - 17:46 
Good work
GeneralIt is not working. I get the error: The remote server return an error 401memberNaim212 Apr '11 - 23:42 
Hi guys,
 
Can you please help me this error that I am facing now: The remote server returned an error(401). Is that because credentials for getting the request token are not right or ???????. I appreciate your help !
 
Big Grin | :-D
GeneralRe: It is not working. I get the error: The remote server return an error 401memberNaim213 Apr '11 - 1:56 
I solved the issues of the error 401. This was caused due to not proper credentials(i.e. Consumer key and ConsumerSecret key) that are not passed property to the GenerateSignature method. So be sure with credentials when you create your application on yahoo. Big Grin | :-D
GeneralRe: It is not working. I get the error: The remote server return an error 401memberRushabh1702199019 Apr '12 - 20:07 
I Checked my credentials but still getting that error can you please help me?
Unsure | :~
Generalit's not working error 401memberVijai Chaubey5 Apr '11 - 22:50 
it's not working error 401
GeneralMy vote of 5member[raju.m][makhaai]22 Mar '11 - 13:59 
two day before I saw one question about yahoo contact reader at that time I cant find this article. I done this before using Plaxo, now I think They stop contact reading services. Anyway next time I can help with your article.
GeneralMy vote of 5memberDoronmi24 Jan '11 - 22:37 
I spent hours looking for this kind of a solution
Generalhi manmembercoolshad24 Nov '10 - 5:10 
Hi man , could you plz help me?
I have the following error
 
The remote server returned an error: (401) Unauthorized.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
length: 6
stack trace: at System.Net.HttpWebRequest.GetResponse() at test_oauth_test.RetriveContacts() in C:\Users\shady.yahia\documents\visual studio 2010\Projects\Floosy\Floosy\yahoo-oauth\oauth-test.aspx.cs:line 382
status: ProtocolError
Status Code: (401) Unauthorized
Status Description: Authorization Required
source: System
headers: 0: 0
headers: 1: chunked
headers: 2: keep-alive
headers: 3: private
headers: 4: application/xml
headers: 5: Wed, 24 Nov 2010 16:06:07 GMT
headers: 6: YTS/1.19.5
headers: 7: HTTP/1.1 r2.ycpi.mud.yahoo.net (YahooTrafficServer/1.19.5 [cMsSf ])
headers: 8: OAuth oauth_problem="timestamp_refused", realm="yahooapis.com"

 
my production server zone is US&canada time zone (-8 hrs from GTM)
 

Thanks for the code anywayThumbs Up | :thumbsup:
GeneralRe: hi manmemberMember 786674523 Apr '11 - 8:39 
HI had the same problem here in Brazil, with the time zone.
 
To understand what happened I've isolated the function result in a label and got the TimeStamp result with "," instead of the point "."
 
As you can see in the code, the TimeStamp Function search "." well then just modified it in my code:
 
ORIGINAL CODE:
 
public virtual string GenerateTimeStamp()
{
// Default implementation of UNIX time of the current UTC time
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
string timeStamp = ts.TotalSeconds.ToString();
timeStamp = timeStamp.Substring(0, timeStamp.IndexOf("."));
return timeStamp;
}
 
MODIFIED CODE: (BRAZIL TIME ZONE)
 
{
// Default implementation of UNIX time of the current UTC time
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
string timeStamp = ts.TotalSeconds.ToString();
<b>timeStamp = timeStamp.Substring(0, timeStamp.IndexOf(","));</b>
return timeStamp;
}
 
Works Well Now.
GeneralIts not workings properly'memberdnnclassified16 Nov '10 - 0:44 
Its not workings properly. Error is coming.401 unauthorized err is coming
dnn

General401 Unauthorized errormemberMember 345821529 Oct '10 - 20:52 
The remote server returned an error: (401) Unauthorized
GeneralRe: 401 Unauthorized errormemberlenamtuan5 Dec '12 - 3:00 
Yahoo! won't work locally
 
http://www.matlus.com/oauth-c-library/[^]
GeneralMy vote of 5memberkailas tare14 Oct '10 - 19:18 
Great article, explained in simple words, I was able to get this to work in few minutes.
 
How can i modify this to work with gmail contacts? I believe google also supports oauth?
GeneralRe: My vote of 5memberNaim212 Apr '11 - 23:54 
Go and read here for OAuth how it works !
http://code.google.com/apis/accounts/docs/OAuth.html#GoogleAppsOAuth[^]
GeneralUnable to connect to the remote servermembergk12000120 Sep '10 - 11:48 
Thanks so much for your article. It looks very simple.
 
However, I'm having issue with https://api.login.yahoo.com/oauth/v2/get_request_token address. It gives me the following error:
 
Unable to connect to the remote server
 
{"A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 66.196.86.204:443"}
 
Am I doing anything wrong?
 
It seems it cannot get past HttpWebResponse res = (HttpWebResponse)req.GetResponse(); and this is where the exception arises.
 
It's inside private string GetRequestToken()
 
your advise is much appreciated.
 
I, of course, registered the application with yahoo, and it's trusted.
 
Your help on the matter is much appreciated.
Questionhow to use this in windows applicationsmembercmsn8 Sep '10 - 2:31 
please help me to improve this to windows application
GeneralMy vote of 5memberMonjurul Habib11 Aug '10 - 0:01 
excellent post.great.
GeneralExcellentmvpMd. Marufuzzaman10 Aug '10 - 21:22 
This is simply outstanding....Keep it up Thumbs Up | :thumbsup:
Thanks
Md. Marufuzzaman


I will not say I have failed 1000 times; I will say that I have discovered 1000 ways that can cause failure – Thomas Edison.

GeneralMy vote of 5memberAbhinav S7 Aug '10 - 18:17 
Nicely done.
GeneralgoodmemberPranay Rana30 Jul '10 - 20:13 
good
GeneralMy vote of 5memberMilena0116 Jul '10 - 5:43 
Excellent article .thanks very very much.Yahoo, with all that information was killing my patience :P.This is very helpful,& now I understand how this all process hapen.Thnx
GeneralMy vote of 5memberMarcelo Ricardo de Oliveira7 Jul '10 - 8:14 
I agree with you Shahriar, very simple Smile | :)
 
Nice research job, very well done Thumbs Up | :thumbsup:
 
5 stars from me
 
cheers,
marcelo
Take a look at Soccerlight World Cup 2010 here in Code Project.

GeneralMy vote of 5memberJitendra Zaa5 Jul '10 - 21:10 
Excellent article
GeneralMy vote of 5memberbdcoder5 Jul '10 - 9:51 
good for startups
GeneralMy vote of 5memberyatri20105 Jul '10 - 9:09 
good one
GeneralMy vote of 5memberShahriar Iqbal Chowdhury5 Jul '10 - 4:32 
simple
GeneralMy vote of 5memberShahriar Iqbal Chowdhury4 Jul '10 - 8:05 
Simple Solution

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

Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130516.1 | Last Updated 5 Jul 2010
Article Copyright 2010 by Shahriar Iqbal Chowdhury/Galib
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid