2017-04-05 42 views
0

我試圖添加從我的一個應用程序發佈推文的功能。在vb.net中使用linqToTwitter

我正在使用LinqToTwitter庫並閱讀了所有可以找到的示例,但無法使其正常工作。有人能指引我朝着正確的方向嗎?

繼承人我的代碼...

Imports LinqToTwitter 
Imports LinqToTwitter 

Public Class StatusUpdate 

    Dim consumerkey As String = "n-BLAH-BLAH-BLAH-BLAH-VA" 
    Dim ConsumerSecret As String = "5o-BLAH-BLAH-BLAH-BLAH-o" 
    Dim OAuthToken As String = "8-BLAH-BLAH-BLAH-BLAH-tK" 
    Dim AccessToken As String = "E6-BLAH-BLAH-BLAH-BLAH-8T" 

    Public twitterctx As TwitterContext 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

     Dim credentials As IOAuthCredentials = New InMemoryCredentials 
     credentials.ConsumerKey = consumerkey 
     credentials.ConsumerSecret = ConsumerSecret 
     credentials.OAuthToken = OAuthToken 
     credentials.AccessToken = AccessToken 
     Dim auth As PinAuthorizer = New PinAuthorizer() 
     auth.Credentials = credentials 
     Dim twitterCtx As TwitterContext = New TwitterContext(auth) 
     twitterCtx.UpdateStatus(tweetbody.Text) 

    End Sub 
End Class 

那是什麼我已經把基於幾個例子,從我所知道的,它應該是正確的,但也有一些錯誤...

  • 類型'IOAuthCredentials'未定義。
  • 類型'InMemoryCredentials'未定義。
  • 憑證不是Pin Authorizer的成員。
  • 'UpdateStatus'不是'TwitterContext'的成員。

周圍的少數幾個例子並沒有讓我感覺到任何地方,我有點碰壁了。

任何人可以提供的幫助是非常appriciated。

回答

0

這可能來自一個很老的例子。 LINQ to Twitter現在是異步的,舊的語法不起作用。下面是你應該如何重新編寫,使工作:

Imports LinqToTwitter 
Imports LinqToTwitter 

Public Class StatusUpdate 
    Dim consumerkey As String = "n-BLAH-BLAH-BLAH-BLAH-VA" 
    Dim ConsumerSecret As String = "5o-BLAH-BLAH-BLAH-BLAH-o" 
    Dim OAuthToken As String = "8-BLAH-BLAH-BLAH-BLAH-tK" 
    Dim AccessToken As String = "E6-BLAH-BLAH-BLAH-BLAH-8T" 

    Public twitterctx As TwitterContext 

    Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

     Dim credentials As InMemoryCredentialStore = New InMemoryCredentialStore 
     credentials.ConsumerKey = consumerkey 
     credentials.ConsumerSecret = ConsumerSecret 
     credentials.OAuthToken = OAuthToken 
     credentials.AccessToken = AccessToken 

     Dim auth As PinAuthorizer = New PinAuthorizer() 
     auth.CredentialStore = credentials 

     auth.GetPin = AddressOf VerifierCallback 
     auth.GoToTwitterAuthorization = Function(pageLink) Process.Start(pageLink) 

     Await auth.AuthorizeAsync() 

     Dim twitterCtx As TwitterContext = New TwitterContext(auth) 

     Await twitterCtx.TweetAsync(tweetbody.Text) 

    End Sub 

    Function VerifierCallback() As String 

     Console.WriteLine("Next, you'll need to tell Twitter to authorize access.\nThis program will not have access to your credentials, which is the benefit of OAuth.\nOnce you log into Twitter and give this program permission,\n come back to this console.") 

     Console.Write("Please enter the PIN that Twitter gives you after authorizing this client: ") 

     Return Console.ReadLine() 

    End Function 
End Class 

原諒我VB語法與異步的子事件處理程序,但如果你知道VB,你應該能夠得到的那部分。爲以防萬一,我上傳了新的VB演示所以你可以看到這是如何工作的控制檯應用程序:

LINQ to Twitter VB Sample

既然你提供的所有3個憑證,此代碼應立即鳴叫。但是,如果您只有前兩個,GetPin和GoToTwitterAuthorization指導用戶授權過程。