2012-09-12 53 views
4

我想查找一个如何简单地在我的Twitter帐户上使用C#和DotNetOpenAuth发布消息的例子。我想从WinForms应用程序中完成它。我发现的例子似乎是使用ASP.NET和WebForms。具体来说,我越来越挂在“验证码”上。这里是我到目前为止的代码:使用DotNetOpenAuth发布Twitter消息推文

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

这里就是你需要做的:

  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

相关问题