如何从我的asp.net网页更新twitter状态

时间:2011-11-09 11:44:27

标签: c# asp.net twitter twitterizer

我创建了一个asp.net网页,我正在使用twitterizer.framework.dll。

以下是我的c#代码。

    protected void btnTwitt_Click(object sender, EventArgs e)
    {

        //OAuthTokens tokens = new OAuthTokens();
        //tokens.AccessToken = "--REDACTED--";
        //tokens.AccessTokenSecret = "--REDACTED--";
        //tokens.ConsumerKey = "--REDACTED--";
        //tokens.ConsumerSecret = "--REDACTED--";

        /////

        //TwitterResponse<TwitterUser> showUserResponse = TwitterUser.Show(tokens, "twit_er_izer");

        string TwitterUserName = "My twitter username";
        string TwitterPassword = "my password";
       // string TwitterMessage = txtShout.Text;

        if (TwitterUserName != string.Empty && TwitterPassword != string.Empty)
        {
            try
            {
                //Twitter
               // TwitterAccount twitter = new TwitterAccount(TwitterUserName, TwitterPassword);
                //Twitter tw
                Twitter twitter = new Twitter(TwitterUserName, TwitterPassword);

                string TwitterMsg = txtShout.Text;
                if (txtShout.Text.Length > 120)
                {
                    TwitterMsg = TwitterMsg.Substring(0, 130) + "... For more update logon to DailyFreeCode.com";
                }
                else
                {
                    TwitterMsg = TwitterMsg + "... For more update logon to DailyFreeCode.com";
                }
                twitter.Status.Update(TwitterMsg);
                //Twitterizer.TwitterStatus.Update(tokens,TwitterMsg);


                lblTwitMsg.Text = "Your have shout successfully on http://twitter.com/" + TwitterUserName;

            }
            catch (Exception ex)
            {
                Response.Write("<b>" + ex.Message + "</b><br>" + ex.StackTrace);
            }
        }
    }

现在,我收到错误授权失败。 在这一行

twitter.Status.Update(TwitterMsg);

Plz帮助我,谢谢!

2 个答案:

答案 0 :(得分:2)

好像您正在使用Twitterizer版本1.x,但尝试从Twitterizer版本2.x复制代码示例。 Twitter twitter = new Twitter(TwitterUserName, TwitterPassword);是一个死的赠品。 2.x不再使用该语法。

Twitter不再允许通过提供用户名和密码来访问API。以某种方式说,代币您的用户名和密码。

答案 1 :(得分:1)

如果您使用twitterizer框架,则不应传递用户名/密码。你需要填写:

OAuthTokens tokens = new OAuthTokens();
tokens.AccessToken = "XXX";
tokens.AccessTokenSecret = "XXX";
tokens.ConsumerKey = "XXX";
tokens.ConsumerSecret = "XXX";

您可以使用框架中的以下三种方法来完成此操作:

1:

public static Uri BuildAuthorizationUri(
    string requestToken
)

2:

public static OAuthTokenResponse GetRequestToken(
    string consumerKey,
    string consumerSecret,
    string callbackAddress
)

3:

OAuthTokenResponse accessToken = OAuthUtility.GetAccessToken(consumerKey, consumerSecret, requestToken, verifier);

查找here