2016-04-18 8 views
0

OAuth PINオーソライザメソッドを使用してTwitterに接続する際に以下の問題があります。c#LinqToTwitter Connection OAuth PIN

コード:

private async void button1_Click(object sender, RoutedEventArgs e) 
    { 
     pinAuth = new PinAuthorizer 
     { 

      CredentialStore = new InMemoryCredentialStore 
      { 

       ConsumerKey = resourceLoader.GetString("ConsumerKey"), 
       ConsumerSecret = resourceLoader.GetString("ConsumerSecret") 
      }, 

      GoToTwitterAuthorization = async pageLink => 
       await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, 
       () =>{ OAuthWebBrowser.Navigate(new Uri(pageLink, UriKind.Absolute)); }) 

     }; 
     await pinAuth.BeginAuthorizeAsync(); 

PINを取得した後、私はそのようなことだろう:ブラウザが、私は形式に私の資格情報を入れて、認可クリック開き

private async void button2_Click(object sender, RoutedEventArgs e) 
    { 
     string pin = null; // Cant get the PIN 
     await pinAuth.CompleteAuthorizeAsync(pin); 

     var credentials = pinAuth.CredentialStore; 
     string oauthToken = credentials.OAuthToken; 
     string oauthTokenSecret = credentials.OAuthTokenSecret; 
     string screenName = credentials.ScreenName; 
     ulong userID = credentials.UserID; 
    } 

を。このクリックの後、PINが半秒間ポップアップし、次のエラーメッセージが表示されます: "このページには、提供されていない情報が必要です。おそらく正直なミス "

この問題はこれまでのところ解決しなかったThreadです。

ありがとうございました!

// UPDATE

enter image description here

+0

http://stackoverflow.com/questions/16667361/linq-to-twitter-status-updateこの回答には、これを達成するためのLinqToTwitterコードがあります。最初の部分は古いバージョン用ですが、その下にあるのは新しいバージョンの更新方法です。 – AndyJ

答えて

0

私は自分自身があなたに(私は開発者です)Tweetinviとの代替例を与えることができ、すぐに3日以内に応答がありません。私はあなたがLinqToTwitterを使用しようとしていることを理解していますが、私はこの特定の問題についてあなたを助けるのに十分なライブラリを知らないのです。

認証に関する詳細は、関連するwiki sectionにあります。

// Create a new set of credentials for the application. 
var appCredentials = new TwitterCredentials("CONSUMER_KEY", "CONSUMER_SECRET"); 

// Init the authentication process and store the related `AuthenticationContext`. 
var authenticationContext = AuthFlow.InitAuthentication(appCredentials); 

// Go to the URL so that Twitter authenticates the user and gives him a PIN code. 
Process.Start(authenticationContext.AuthorizationURL); 

// Ask the user to enter the pin code given by Twitter 
var pinCode = Console.ReadLine(); 

// With this pin code it is now possible to get the credentials back from Twitter 
var userCredentials = AuthFlow.CreateCredentialsFromVerifierCode(pinCode, authenticationContext); 

// Use the user credentials in your application 
Auth.SetCredentials(userCredentials); 

私はこれがあなたにとって助けになることを願っています。

+0

あなたのアイデアを試す前に明確にする... TweetinviでTwitter Conectionを入手し、それをLinqToTwitterと一緒に使うことは可能ですか?これは本当に愚かな質問ですか?私はかなりこのアプリケーションを開発しており、私はすべてのTwitterの機能をやり直さなければならないでしょう... – Ulpin

+0

はい、可能です。 Tweetinviから来る 'userCredentials'には、LinqToTwitterで認証するために必要なすべての情報が含まれています。 – Linvi

+0

'ITwitterCredentials'には、' access_token'、 'access_token_secret'、' consumer_key'、そして最後に 'consumer_secret'が含まれています。これらはあなたが認証する必要があるすべての情報です。 – Linvi