annotate Agendas/trunk/src/Agendas.Twitter/oAuthTwitter.cs @ 214:7d838e7d83b3

Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
author alabra
date Wed, 24 Aug 2011 19:49:18 -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 }