如何在应用程序 c# 的窗口中验证 Twitter 的用户名和密码
本文关键字:Twitter 用户 密码 验证 窗口 应用程序 | 更新日期: 2023-09-27 18:34:28
我需要以编程方式检查Twitter帐户的用户名/密码是否有效。
法典
我正在关注此链接
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 API已经更新了。您提供的代码不再有效。
你用过OAuth吗?
据我所知,Twitter只接受OAuth的请求。
请参阅:https://dev.twitter.com/docs/api/1.1/get/account/verify_credentials
据此,您需要进行身份验证才能验证凭据。
我在您的代码中没有看到您使用 OAuth 进行身份验证的任何地方,因此除非它隐藏在某个地方,否则我不希望您的代码正常工作。
实际上,Twitter是API的痛苦,并且可能会随着时间的推移而改变(1.0到1.1的跳跃是完全重写(。
因此,我建议使用库并让他们担心这一点。我使用TweetSharp。可悲的是,主要开发人员已经离开了该项目,但它仍然有效。