2017-01-27 59 views
0

我有單個asp.net c#頁面有三個文本框和一個按鈕來發布推文。驗證Twitter用戶和發佈關於他的帳戶的推文C#

1)輸入用戶名

2)輸入密碼

3)推文文字

4)發佈的tweet按鈕

問題是,我想發佈在用戶帳戶的鳴叫。 在我的網頁上,第一個用戶將輸入他的用戶名和密碼。我將驗證來自Twitter的用戶信息,然後在他自己的帳戶上發佈推文。

就像我們可以在Twitterizer中做的那樣。

Twitter twitter = new Twitter(「username」,「password」,「source」);

twitter.Status.Update(「update」);

我知道現在我們不能使用Twitterizer。

我已經使用了以下鏈接中提到的示例,但它也不起作用。

Twitter: verifying username and password in C#

示例代碼 ////////////////////////////////////// ////////////////////////////////////////////////// ///////////

public bool CheckTwitterCredentials(string UserName, string Password) 
{ 
    // Assume failure 
    bool Result = false; 

    // A try except block to handle any exceptions 
    try { 
     // Encode the user name with password 
     string UserPass = Convert.ToBase64String(
      System.Text.Encoding.UTF8.GetBytes(UserName + ":" + Password)); 

     // Create our HTTP web request object 
     HttpWebRequest Request = 
      (HttpWebRequest)WebRequest.Create("http://twitter.com/account/verify_credentials.xml"); 

     // Set up our request flags and submit type 
     Request.Method = "GET"; 
     Request.ContentType = "application/x-www-form-urlencoded"; 

     // Add the authorization header with the encoded user name and password 
     Request.Headers.Add("Authorization", "Basic " + UserPass); 

     // Use an HttpWebResponse object to handle the response from Twitter 
     HttpWebResponse WebResponse = (HttpWebResponse)Request.GetResponse(); 

     // Success if we get an OK response 
     Result = WebResponse.StatusCode == HttpStatusCode.OK; 
    } catch (Exception Ex) { 
     System.Diagnostics.Debug.WriteLine("Error: " + Ex.Message); 
    } 

    // Return success/failure 
    return Result; 
} 

//////////////////////////////// ////////////////////////////////////////////////// /////////////

現在twitter已經提供了一些庫來與dot net C#一起工作。

https://dev.twitter.com/resources/twitter-libraries#dotnet

.NET

•LINQ2Twitter由@joemayo(示例)

•Spring.NET Twitter並社會延伸通過的SpringSource - 甲Spring.NET社會擴展用連接支持和API綁定Twitter。

•TweetSharp通過@danielcrenna - 一個.NET庫Twitter的API訪問

•通過Linvi保持Tweetinvi - 一個Twitter的.Net C#API,它有使命,以簡化應用程序的開發Twitter的在C#。流式API已被用於研究項目,每天收集大約320萬條推文。 Twitter API的創建很容易實現新功能,目前可以訪問大多數功能。 (文檔)

•由@martbrow製作的Crafted.Twitter - 兼容緩存的解決方案 - 實現了ASP.Net Web窗體和MVC。讓您可以輕鬆地在您的網站中添加推文。

我已經使用了以下庫TweetinviAPI。提及以下鏈接。

https://github.com/linvi/tweetinvi/wiki/Introduction#hello-world

//設置您的憑據(https://apps.twitter.com

Auth.SetUserCredentials("CONSUMER_KEY", "CONSUMER_SECRET", "ACCESS_TOKEN", "ACCESS_TOKEN_SECRET"); 

// Publish the Tweet "Hello World" on your Timeline 
Tweet.PublishTweet("Hello World!"); 

但問題是,它被張貼我自己創建的Twitter頁面上沒有其他用戶Twitter主頁上。

我想要的是,通過使用上面更新的庫有任何方式,用戶把他的用戶名和密碼在我的網頁和一些細節的推文和張貼在他自己的帳戶推文。

請告訴我現在或沒有這種可能。

感謝

Syyed

回答

1

我Tweetinvi的開發商。

Twitter應用程序不再公開用戶名/密碼認證。 Twitter現在要求開發者使用OAuth。

這對你來說意味着什麼,爲了讓用戶在你的應用上進行身份驗證,他們將不得不從twitter.com網站接受你的申請。

爲此,Twitter REST API提供了2個身份驗證過程。基於PIN和URL重定向。網址建議使用URL重定向。

您可以瞭解更多有關在這裏:https://github.com/linvi/tweetinvi/wiki/Authentication#url-redirect-authentication

我也建議你在https://github.com/linvi/tweetinvi/wiki/Authentication#web-application-considerations看看,讓你有一個更好的瞭解認證機制。

最後,我建議你看看Examplinvi.ASP.NETExamplinvi.ASP.NET.Core這是一個MVC項目,正在做你正在做的事情:Authentication + Post Tweet

如果您有更多的問題後,我會很樂意幫助更多!

乾杯, Linvi

+0

Linvi您好,感謝您的回覆。作爲一名開發人員,您在tweetinvi方面做得很好。我已經檢查了您在回覆中提到的MVC項目。問題是我想在用戶推特頁面上分享產品圖片,而不是在我自己的Twitter上創建的應用程序,在https://dev.twitter.com/謝謝 – syyed

+0

您的鏈接到Examplinvi.web已經死了。 – Matthias

+0

@Matthias感謝您的反饋,現在已更新。 – Linvi

相關問題