如何在应用程序 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;
}

我创建了一个新帐户,我的电子邮件已验证。我现在可以使用我的用户名和密码登录。当我尝试使用上面的代码时。我收到未经授权的例外。

我错过了什么吗?

如何在应用程序 c# 的窗口中验证 Twitter 的用户名和密码

看起来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。可悲的是,主要开发人员已经离开了该项目,但它仍然有效。