C# 如何在Windows窗体应用程序c中验证Twitter的用户名和密码#
我需要以编程方式检查Twitter帐户的用户名/密码是否有效 代码 我创建了一个新帐户,我的电子邮件已验证。我现在可以用我的用户名和密码登录了。当我尝试使用上述代码时。我得到了未经授权的例外 我遗漏了什么吗?你用过OAuth吗 据我所知,Twitter只接受已经OAuth处理过的请求 见: 根据这一点,您需要通过身份验证才能验证凭据 我看不到您的代码中有使用OAuth进行身份验证的地方,所以除非它隐藏在某个地方,否则我不希望您的代码工作 事实上,Twitter是一个痛苦的API,并且可能会随着时间的推移而改变(1.0到1.1的跳跃是一次完全的重写)C# 如何在Windows窗体应用程序c中验证Twitter的用户名和密码#,c#,c#-4.0,twitter,C#,C# 4.0,Twitter,我需要以编程方式检查Twitter帐户的用户名/密码是否有效 代码 我创建了一个新帐户,我的电子邮件已验证。我现在可以用我的用户名和密码登录了。当我尝试使用上述代码时。我得到了未经授权的例外 我遗漏了什么吗?你用过OAuth吗 据我所知,Twitter只接受已经OAuth处理过的请求 见: 根据这一点,您需要通过身份验证才能验证凭据 我看不到您的代码中有使用OAuth进行身份验证的地方,所以除非它隐藏在某个地方,否则我不希望您的代码工作 事实上,Twitter是一个痛苦的API,并且可能会随着
因此,我建议使用一个库,让他们担心这一点。我使用TweetSharp。遗憾的是,主要开发人员已经离开了该项目,但它仍然有效。看起来Twitter API已经更新。您提供的代码不再有效。首先,尝试使用不同的API url:您能告诉我们如何在Window Forms应用程序中获取_consumerKey、_ConsumerCret、_accessToken和_accessTokenSecret吗?您可以通过创建一个应用程序在dev.twitter.com上获取它。说真的,文档很好,为什么不给自己一两个小时来彻底阅读呢。你知道,为了克里特应用程序,有必要提供网站和我不;如果你还没有URL,就在这里放一个占位符,但记住以后再更改它
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;
}