2012-06-17 20 views
5

Sto tentando di autenticare gli account utente in Windows Phone. Ho trovato questa libreria C# per il lavoro (tweetsharp).Autenticazione Twitter senza utilizzare il pin

Il loro esempio è abbastanza chiaro ma usano un codice pin per autenticare l'utente.

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(); 

Mi chiedevo se è possibile farlo senza il codice PIN? Ho provato app che non richiedono il codice. Questo significa che tweetsharp è obsoleto?

Qualche idea se posso ancora eseguire l'autenticazione con tweetsharp senza utilizzare la parte del pin? O ci sono altri SDK alternativi là fuori per Windows Phone?

risposta

1

Su TweetSharp pagina c'è anche menzionato xAuth:

Se si sta costruendo un'applicazione mobile e desidera beneficiare di un'esperienza di autenticazione senza soluzione di continuità senza ulteriori passaggi per l'utente , è necessario iscrivere il vostro applicazione nel supporto xAuth di Twitter. È necessario completare questo passaggio affinché xAuth funzioni correttamente.

using TweetSharp; 

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

Responing al tuo commento, un'altra opzione sarebbe utilizzando applicazioni Web Companion aperto nel controllo WebBrowser nella vostra applicazione mobile, vedi https://github.com/danielcrenna/tweetsharp#authenticating-a-browser-application

+0

xAuth tuttavia non offre accesso alla posta in arrivo dell'utente. E devi anche inviare una richiesta per poterlo usare. – networkprofile

+0

Ho aggiornato la mia risposta. Per favore guarda questo post interessante su xAuth: http://yourhead.tumblr.com/post/428643811/five-things-you-didnt-know-about-xauth – Pol

1

Invece di Tweetsharp, si può anche fare uso di Hammock libreria per accedi all'API di Twitter. Ecco uno blog che spiega come implementare OAuth per Twitter utilizzando Hammock.

La speranza che ti aiuta.

+0

Questo esempio usa ancora un codice PIN che penso non sia t usato più da Twitter. Ho anche provato il codice di esempio e non funziona. – networkprofile

+0

Si è confusi tra [oauth] basato su PIN (https://dev.twitter.com/docs/auth/pin-based-authorization) e [Normal Oauth] (https://dev.twitter.com/docs/ auth/implementation-sign-twitter). E il pin che stai assumendo nel precedente esempio del blog è il pin "oauth_verifier". Se hai problemi con il precedente codice di esempio, dimmi quali problemi stai affrontando? – nkchandra

+0

In realtà stavo provando la sorgente a cui si collega nella seconda parte del suo tutorial (https://skydrive.live.com/?cid=5e51a69c0b38399a&sc=documents&id=5E51A69C0B38399A%21317). Quando inserisco i miei dati di accesso nella pagina web di Twitter ricevo un popup con "KeyNotFoundException" quando faccio clic su Autorizza. Molto vago, ma questo è tutto ciò che dice .. – networkprofile

Problemi correlati