annotate Agendas/trunk/src/Agendas.Twitter/oAuthTwitter.cs @ 221:37ddf81333d3 deploy 2011-09-13

Modificación por problemas al cambiar la posición de screen_name en el json que devuelve twitter (lo pasaron al final)
author nelopauselli
date Tue, 13 Sep 2011 09:01:58 -0300
parents 734d3f0853bf
children a7420f05716a
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 + "\":";
221
37ddf81333d3 Modificación por problemas al cambiar la posición de screen_name en el json que devuelve twitter (lo pasaron al final)
nelopauselli
parents: 158
diff changeset
44 var tagEnd = "\"";
112
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 {
221
37ddf81333d3 Modificación por problemas al cambiar la posición de screen_name en el json que devuelve twitter (lo pasaron al final)
nelopauselli
parents: 158
diff changeset
49 var end = response.IndexOf(tagEnd, start+1);
112
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 {
221
37ddf81333d3 Modificación por problemas al cambiar la posición de screen_name en el json que devuelve twitter (lo pasaron al final)
nelopauselli
parents: 158
diff changeset
52 return response.Substring(start + 1, end - start - 1);
112
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 }