4

我正在尝试寻找一个示例,说明如何使用 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);
}

我收到一条错误消息,说验证器代码不能为空。

4

1 回答 1

1

这是您需要做的:

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

这是一篇博客文章,内容类似,并有一个代码示例:

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

于 2012-09-13T02:11:25.710 回答