-1

我创建了一个 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);

请帮助我,谢谢!

4

2 回答 2

2

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

Twitter 不再允许通过提供用户名和密码来访问 API。从某种意义上说,令牌您的用户名和密码。

于 2011-11-09T18:02:14.820 回答
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);

在这里查找

于 2011-11-09T11:56:52.780 回答