2012-06-17 14 views
5

Ich versuche, Benutzerkonten in Windows Phone zu authentifizieren. Ich habe diese C# -Bibliothek für den Job gefunden (tweetsharp).Twitter Authentifizierung ohne Pin

Ihr Beispiel ist ziemlich klar, aber sie verwenden einen PIN-Code, um den Benutzer zu authentifizieren.

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

Ich frage mich, ob es möglich ist, dies ohne den PIN-Code zu tun? Ich habe Apps ausprobiert, die nicht nach dem Code fragen. Bedeutet das, dass Tweetsharp veraltet ist?

Irgendeine Idee, wenn ich noch die Authentifizierung mit tweetsharp tun kann, ohne den Stiftteil zu benutzen? Oder gibt es alternative SDKs für Windows Phone?

Antwort

1

Auf TweetSharp Seite gibt es auch xAuth erwähnt:

Wenn Sie eine mobile Anwendung erstellen und wollen von einer nahtlosen Authentifizierung Erfahrung ohne zusätzliche Schritte für die Benutzer profitieren, müssen Sie Ihre einzuschreiben Anwendung in Twitter XAuth-Unterstützung. Sie müssen diesen Schritt ausführen, damit xAuth ordnungsgemäß funktioniert.

using TweetSharp; 

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

auf Ihren Kommentar Responing, wäre eine weitere Option Begleiter Web-Anwendung in WebBrowser-Steuerelement in Ihrer mobilen Anwendung geöffnet werden, siehe https://github.com/danielcrenna/tweetsharp#authenticating-a-browser-application

+0

xAuth bietet jedoch keinen Zugriff auf den Benutzerposteingang. Und Sie müssen auch eine Anfrage senden, um es verwenden zu können. – networkprofile

+0

Ich habe meine Antwort aktualisiert. Siehe auch diesen interessanten Post über xAuth: http://yourhead.tumblr.com/post/428643811/five-things-you-didnt-know-about-xauth – Pol

1

Statt Tweetsharp, können Sie dort auch von Hammock Bibliothek machen Zugriff auf die Twitter-API Hier ist eine blog, die erläutert, wie OAuth für Twitter mit Hammock implementieren.

Hoffnung, die Ihnen hilft.

+0

Dieses Beispiel verwendet auch immer noch einen PIN-Code, den ich denke, ist nicht t von Twitter nicht mehr verwendet. Ich habe auch den Beispielcode ausprobiert und es funktioniert nicht. – networkprofile

+0

Sie sind verwirrt zwischen [PIN-basiert oauth] (https://dev.twitter.com/docs/auth/pin-based-authorization) und [Normal Oauth] (https://dev.twitter.com/docs/ auth/implementing-sign-twitter). Und die Pin, die Sie im obigen Blogbeispiel annehmen, ist "oauth_verifier" pin. Wenn Sie Probleme mit dem obigen Beispielcode haben, sagen Sie mir, mit welchen Problemen Sie konfrontiert sind? – nkchandra

+0

Ich habe tatsächlich die Quelle versucht, zu der er im zweiten Teil seines Tutorials verlinkt (https://skydrive.live.com/?cid=5e51a69c0b38399a&sc=documents&id=5E51A69C0B38399A%21317). Wenn ich meine Login-Daten auf der Twitter-Webseite eingebe, bekomme ich ein Popup mit "KeyNotFoundException", sobald ich auf authorize klicke. Sehr vage, aber das ist alles, was es sagt .. – networkprofile

Verwandte Themen