Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Twitter/ITwitterAdapter.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 |
rev | line source |
---|---|
111
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
1 using System; |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
2 using Twitterizer; |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
3 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
4 namespace AltNetHispano.Agendas.Twitter |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
5 { |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
6 public interface ITwitterAdapter |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
7 { |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
8 Uri BuildAuthorizationUri(string consumerKey, string consumerSecret, string callbackAddress); |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
9 string GetAccessToken(string consumerKey, string consumerSecret, string requestToken, string verifier); |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
10 TwitterResponse<TwitterStatus> UpdateStatus(OAuthTokens tokens, string status); |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
11 } |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
12 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
13 public class TwitterAdapter : ITwitterAdapter |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
14 { |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
15 public Uri BuildAuthorizationUri(string consumerKey, string consumerSecret, string callbackAddress) |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
16 { |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
17 // Obtain a request token |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
18 OAuthTokenResponse requestToken = OAuthUtility.GetRequestToken(consumerKey, consumerSecret, callbackAddress); |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
19 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
20 // Direct or instruct the user to the following address: |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
21 Uri authorizationUri = OAuthUtility.BuildAuthorizationUri(requestToken.Token); |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
22 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
23 return authorizationUri; |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
24 } |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
25 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
26 public string GetAccessToken(string consumerKey, string consumerSecret, string requestToken, string verifier) |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
27 { |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
28 OAuthTokenResponse accessToken = OAuthUtility.GetAccessToken(consumerKey, consumerSecret, requestToken, verifier); |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
29 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
30 if (accessToken != null) |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
31 { |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
32 var tokens = new OAuthTokens |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
33 { |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
34 AccessToken = accessToken.Token, |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
35 AccessTokenSecret = accessToken.TokenSecret, |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
36 ConsumerKey = consumerKey, |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
37 ConsumerSecret = consumerSecret |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
38 }; |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
39 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
40 TwitterResponse<TwitterUser> showUserResponse = TwitterUser.Show(tokens, accessToken.UserId); |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
41 if (showUserResponse.Result == RequestResult.Success) |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
42 return showUserResponse.Content; |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
43 return showUserResponse.ErrorMessage; |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
44 } |
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 |
111
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
46 return string.Empty; |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
47 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
48 } |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
49 |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
50 public TwitterResponse<TwitterStatus> UpdateStatus(OAuthTokens tokens, string status) |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
51 { |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
52 return TwitterStatus.Update(tokens, status); |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
53 } |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
54 } |
90ce239cfa6d
Tests sobre el publicador de twitter, cada track se pulica solo una vez
Nelo@Kenia.neluz.int
parents:
diff
changeset
|
55 } |