Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Twitter/oAuthTwitter.cs @ 186:71737419a839
Ticket 143: Test de unidad, y algo de configuración para acortar URL con servicio de Google.
author | juanjose.montesdeocaarbos |
---|---|
date | Tue, 09 Aug 2011 08:43:25 -0300 |
parents | 734d3f0853bf |
children | 37ddf81333d3 |
rev | line source |
---|---|
107
1ee5711256db
Utilizando Twitterizer en adapter a Twitter
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
1 using System; |
158
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
112
diff
changeset
|
2 using AltNetHispano.Agendas.Configurations; |
90
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 { |
158
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
112
diff
changeset
|
22 get { return AgendasConfigurationManager.Publicadores.Twitter.SignIn.ConsumerKey; } |
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 { |
158
734d3f0853bf
Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents:
112
diff
changeset
|
27 get { return AgendasConfigurationManager.Publicadores.Twitter.SignIn.ConsumerSecret; } |
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 } |