annotate Agendas/trunk/src/Agendas.Twitter/oAuthTwitter.cs @ 122:17531db40d4e

Refactoring de la generación de mensajes en twitter
author nelopauselli
date Tue, 28 Jun 2011 19:25:22 -0300
parents 0bca45e1e664
children 734d3f0853bf
rev   line source
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
1 using System;
90
d1688622fa88 Autenticando con twitter (falta emprolijar el código, pero autentica!)
Nelo@Kenia.neluz.int
parents:
diff changeset
2 using System.Configuration;
d1688622fa88 Autenticando con twitter (falta emprolijar el código, pero autentica!)
Nelo@Kenia.neluz.int
parents:
diff changeset
3
d1688622fa88 Autenticando con twitter (falta emprolijar el código, pero autentica!)
Nelo@Kenia.neluz.int
parents:
diff changeset
4 namespace AltNetHispano.Agendas.Twitter
d1688622fa88 Autenticando con twitter (falta emprolijar el código, pero autentica!)
Nelo@Kenia.neluz.int
parents:
diff changeset
5 {
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
6 public class OAuthTwitter
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
7 {
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
8 private readonly ITwitterAdapter _twitterAdapter;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
9
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
10 public OAuthTwitter()
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
11 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
12 _twitterAdapter = new TwitterAdapter();
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
13 }
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
14
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
15 public OAuthTwitter(ITwitterAdapter twitterAdapter)
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
16 {
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
17 _twitterAdapter = twitterAdapter;
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
18 }
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
19
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
20 private string ConsumerKey
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
21 {
110
a456eb519e23 Lanzando twitts desde el sitio con la cuenta de AltNetHispanoDESA
Nelo@Kenia.neluz.int
parents: 107
diff changeset
22 get { return ConfigurationManager.AppSettings["consumerKeyAppSignIn"]; }
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
23 }
90
d1688622fa88 Autenticando con twitter (falta emprolijar el código, pero autentica!)
Nelo@Kenia.neluz.int
parents:
diff changeset
24
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
25 private string ConsumerSecret
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
26 {
110
a456eb519e23 Lanzando twitts desde el sitio con la cuenta de AltNetHispanoDESA
Nelo@Kenia.neluz.int
parents: 107
diff changeset
27 get { return ConfigurationManager.AppSettings["consumerSecretAppSignIn"]; }
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
28 }
90
d1688622fa88 Autenticando con twitter (falta emprolijar el código, pero autentica!)
Nelo@Kenia.neluz.int
parents:
diff changeset
29
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
30 public Uri AuthorizationLinkGet(string callbackAddress)
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
31 {
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
32 var request = _twitterAdapter.BuildAuthorizationUri(ConsumerKey, ConsumerSecret, callbackAddress);
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
33 return request;
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
34 }
90
d1688622fa88 Autenticando con twitter (falta emprolijar el código, pero autentica!)
Nelo@Kenia.neluz.int
parents:
diff changeset
35
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
36 public string AccessTokenGet(string requestToken, string verifier)
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
37 {
111
90ce239cfa6d Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents: 110
diff changeset
38 return _twitterAdapter.GetAccessToken(ConsumerKey, ConsumerSecret, requestToken, verifier);
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
39 }
112
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
40
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
41 public static string GetResponseContent(string response, string tagName)
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
42 {
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
43 var tagStart = "\"" + tagName + "\":";
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
44 var tagEnd = ",";
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
45
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
46 var start = response.IndexOf(tagStart) + tagStart.Length;
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
47 if (start > tagStart.Length)
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
48 {
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
49 var end = response.IndexOf(tagEnd, start);
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
50 if (end > 0)
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
51 {
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
52 return response.Substring(start + 1, end - start - 2);
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
53 }
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
54 }
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
55 return string.Empty;
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 111
diff changeset
56 }
107
1ee5711256db Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents: 94
diff changeset
57 }
90
d1688622fa88 Autenticando con twitter (falta emprolijar el código, pero autentica!)
Nelo@Kenia.neluz.int
parents:
diff changeset
58 }