view Agendas/trunk/src/Agendas.Twitter/oAuthTwitter.cs @ 112:0bca45e1e664

Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
author Nelo@Kenia.neluz.int
date Sat, 11 Jun 2011 01:20:59 -0300
parents 90ce239cfa6d
children 734d3f0853bf
line wrap: on
line source

using System;
using System.Configuration;

namespace AltNetHispano.Agendas.Twitter
{
	public class OAuthTwitter
	{
		private readonly ITwitterAdapter _twitterAdapter;

		public OAuthTwitter()
		{
			_twitterAdapter = new TwitterAdapter();
		}

		public OAuthTwitter(ITwitterAdapter twitterAdapter)
		{
			_twitterAdapter = twitterAdapter;
		}

		private string ConsumerKey
		{
			get { return ConfigurationManager.AppSettings["consumerKeyAppSignIn"]; }
		}

		private string ConsumerSecret
		{
			get { return ConfigurationManager.AppSettings["consumerSecretAppSignIn"]; }
		}

		public Uri AuthorizationLinkGet(string callbackAddress)
		{
			var request = _twitterAdapter.BuildAuthorizationUri(ConsumerKey, ConsumerSecret, callbackAddress);
			return request;
		}

		public string AccessTokenGet(string requestToken, string verifier)
		{
			return _twitterAdapter.GetAccessToken(ConsumerKey, ConsumerSecret, requestToken, verifier);
		}

		public static string GetResponseContent(string response, string tagName)
		{
			var tagStart = "\"" + tagName + "\":";
			var tagEnd = ",";

			var start = response.IndexOf(tagStart) + tagStart.Length;
			if (start > tagStart.Length)
			{
				var end = response.IndexOf(tagEnd, start);
				if (end > 0)
				{
					return response.Substring(start + 1, end - start - 2);
				}
			}
			return string.Empty;
		}
	}
}