来自C#应用程序的无法发布推文

时间:2014-04-29 16:36:27

标签: c# twitter

我在我的C#应用​​程序中使用了oauth和twitterizer,并且在尝试了几次之后。并且它不会得到任何异常,错误。但它并不想发布到Twitter上。

这是我的代码

protected void Page_Load(object sender, EventArgs e)
{
    BLTgUser objBLTgUser = new BLTgUser();
    if (!objBLTgUser.IsLogin) objBLTgUser.GoToLoginPage(HttpContext.Current.Request.Url.AbsoluteUri);
    m_strIdGods = objBLTgUser.IdGods;

    BLGodsProfile objGods = new BLGodsProfile();
    tbmgodsprofile objGodsProfile = objGods.GetGodsByIdGods(m_strIdGods);

    string reqToken = Request.QueryString["oauth_token"].ToString();
    string pin = Request.QueryString["oauth_verifier"].ToString();

    var oauth_consumerKey = System.Configuration.ConfigurationManager.AppSettings["TwitterConsumerKey"];
    var oauth_consumerSecret = System.Configuration.ConfigurationManager.AppSettings["TwitterConsumerSecret"];

    var tokens = OAuthUtility.GetAccessToken(
                oauth_consumerKey,
                oauth_consumerSecret,
                reqToken,
                pin);

    string accessToken = tokens.Token;
    string accessTokenSecret = tokens.TokenSecret;


    objGodsProfile.twittertoken = accessToken;
    objGodsProfile.twitterpin = accessTokenSecret;
    objGodsProfile.twitterstatus = "1";

    objGods.UpdateGodsProfile(objGodsProfile);
}

我尝试将令牌和tokensecret存储到数据库中,以供下次使用。

string v_str = "";
    BLEnumHelper m_BLEnumHelper = new BLEnumHelper();
    BLGodsProfile userprofile = new BLGodsProfile();
    tbmgodsprofile godsAccessToken = userprofile.GetGodsByIdGods(m_strIdGods);

    string reqToken = godsAccessToken.twittertoken;
    string reqTokenAccess = godsAccessToken.twitterpin;

    var oauth_consumerKey = System.Configuration.ConfigurationManager.AppSettings["TwitterConsumerKey"];
    var oauth_consumerSecret = System.Configuration.ConfigurationManager.AppSettings["TwitterConsumerSecret"];

    OAuthTokens accesstoken = new OAuthTokens()
    {
        AccessToken = reqToken,
        AccessTokenSecret = reqTokenAccess ,
        ConsumerKey = oauth_consumerKey,
        ConsumerSecret = oauth_consumerSecret 
    };

    TwitterResponse<TwitterStatus> response = TwitterStatus.Update(accesstoken,p_strMessage);
    if (response.Result == RequestResult.Success)
    {
        Response.Write("we did it!");
    }
    else
    {
        Response.Write("it's all bad.");
    }

在第二个代码被调用之后,它不会&#39;发布到推特。

1 个答案:

答案 0 :(得分:0)

不再维护Twitterizer。

https://github.com/Twitterizer/Twitterizer/blob/develop/README.mediawiki

Twitterizer不支持Twitter的新API 1.1版,您无法将其用于开发。

作为替代方案,我建议您CoreTweet