2012-06-17 9 views
5

Próbuję uwierzytelnić konta użytkowników w systemie Windows Phone. Znalazłem tę bibliotekę C# do pracy (tweetsharp).Uwierzytelnianie na Twitterze bez użycia pinezki

Ich przykład jest dość jasny, ale używają kodu PIN do uwierzytelnienia użytkownika.

using TweetSharp; 

// Pass your credentials to the service 
TwitterService service = new TwitterService("consumerKey", "consumerSecret"); 

// Step 1 - Retrieve an OAuth Request Token 
OAuthRequestToken requestToken = service.GetRequestToken(); 

// Step 2 - Redirect to the OAuth Authorization URL 
Uri uri = service.GetAuthorizationUri(requestToken); 
Process.Start(uri.ToString()); 

// Step 3 - Exchange the Request Token for an Access Token 
string verifier = "123456"; // <-- This is input into your application by your user 
OAuthAccessToken access = service.GetAccessToken(requestToken, verifier); 

// Step 4 - User authenticates using the Access Token 
service.AuthenticateWith(access.Token, access.TokenSecret); 
IEnumerable<TwitterStatus> mentions = service.ListTweetsMentioningMe(); 

Zastanawiam się, czy można to zrobić bez kodu PIN? Próbowałem już aplikacji, które nie proszą o kod. Czy to oznacza, że ​​tweetsharp jest nieaktualny?

Masz pomysł, czy nadal mogę przeprowadzić uwierzytelnianie za pomocą tweetsharp bez użycia części z pinezką? Czy są tam jakieś alternatywne SDK dla Windows Phone?

Odpowiedz

1

Na TweetSharp stronie istnieje również wspomnieć xAuth:

Jeśli budujesz aplikację mobilną i chcą korzystać z bezproblemowej Uwierzytelnianie bez dodatkowych kroków dla użytkownika , trzeba zapisać swoje aplikacja do obsługi Twittera XAuth. Musisz wykonać ten krok, aby xAuth działał poprawnie.

using TweetSharp; 

// OAuth Access Token Exchange 
TwitterService service = new TwitterService("consumerKey", "consumerSecret"); 
OAuthAccessToken access = service.GetAccessTokenWithXAuth("username", "password"); 

Responing do Twojego komentarza, inna opcja będzie za pomocą aplikacji towarzysz internetowej otwarty w formantu WebBrowser w aplikacji mobilnej, patrz https://github.com/danielcrenna/tweetsharp#authenticating-a-browser-application

+0

xAuth nie oferuje jednak dostępu do skrzynki odbiorczej użytkownika. Musisz również wysłać prośbę, aby móc z niego skorzystać. – networkprofile

+0

Zaktualizowałem moją odpowiedź. Zobacz także ten interesujący wpis dotyczący xAuth: http://yourhead.tumblr.com/post/428643811/five-things-you-didnt-ownow-about-xauth – Pol

1

Zamiast Tweetsharp, można również skorzystać z Hammock biblioteki dostęp do Twitter API. Oto blog, który wyjaśnia, w jaki sposób zaimplementować OAuth do Twittera za pomocą Hamaka.

Nadzieję, że pomaga.

+0

Ten przykład nadal wykorzystuje kod PIN, który moim zdaniem nie jest " t już używane przez Twitter. Wypróbowałem również przykładowy kod i nie działa. – networkprofile

+0

Jesteś zdezorientowany pomiędzy [PIN-based oauth] (https://dev.twitter.com/docs/auth/pin-based-authorization) i [Normal Oauth] (https://dev.twitter.com/docs/ auth/implementation-sign-twitter). Przypięcie, które zakładamy w powyższym blogu, to pinezka "oauth_verifier". Jeśli masz problemy z powyższym kodem przykładowego postu, powiedz mi, z jakimi problemami się borykasz? – nkchandra

+0

Tak naprawdę próbowałem źródła, do którego on prowadzi w drugiej części jego samouczka (https://skydrive.live.com/?cid=5e51a69c0b38399a&sc=documents&id=5E51A69C0B38399A%21317). Kiedy wprowadzam moje dane logowania na stronie Twitter, pojawia się wyskakujące okienko z "KeyNotFoundException", gdy kliknę autoryzację. Bardzo niejasne, ale to wszystko, co mówi ... – networkprofile