使用DotNetOpenAuth向Twitter帐户发布推文

时间:2012-09-12 19:46:12

标签: c# winforms twitter dotnetopenauth

我正在尝试寻找一个如何使用C#和DotNetOpenAuth在Twitter帐户上发布推文的示例。我想从WinForms应用程序中执行此操作。我发现的示例似乎使用ASP.NET和WebForms。具体来说,我已经挂断了“验证码”。这是我到目前为止的代码:

private McMurryTokenManager TokenManager
{
    get
    {
        McMurryTokenManager tokenManager = null;

        string consumerKey = ConsumerKey;
        string consumerSecret = ConsumerSecret;
        if (!string.IsNullOrEmpty(consumerKey))
        {
            tokenManager = new McMurryTokenManager 
                { ConsumerKey = consumerKey, ConsumerSecret = consumerSecret };
        }

        return tokenManager;
    }
}

public Form1()
{
    InitializeComponent();

    var twitter = new DesktopConsumer(TwitterConsumer.ServiceDescription, TokenManager);
    string requestToken;
    twitter.RequestUserAuthorization(null, null, out requestToken);
    var accessTokenResponse = twitter.ProcessUserAuthorization(requestToken, null);
}

我收到错误消息,说验证程序代码不能为空。

1 个答案:

答案 0 :(得分:1)

以下是您需要做的事情:

  1. RequestUserAuthorization方法返回授权页面的URL。
  2. 您应该将用户重定向到该页面,通常是Process.Start(url),用户将在其中授权您的应用程序。
  3. Twitter将用户重定向到具有多位数字的页面,即验证者。
  4. 在您将用户发送到授权页面后,您的应用程序应该等待对话框或提示,以便用户可以输入验证程序并将其提交给您的应用程序。
  5. 获得验证者后,将其作为第二个参数传递给ProcessUserAuthorization。
  6. 这是一篇博文,说的类似,并有一个代码示例:

    http://whelkaholism.blogspot.com/2010/08/c-doing-stuff-with-google-using-oauth.html