如何从无人值守的C#应用程序发送推文?到目前为止,我已经尝试了TweetSharp,但这对我来说并不起作用(没有错误,但也没有成功)。这是背景信息...... 我已经设置了两个Twitter帐户来测试这个(让我们称之为TwitterSender和TwitterReceiver)。 TwitterReceiver是"关注" TwitterSender。我去了dev.twitter.com并以TwitterSender身份登录并点击了"创建新应用程序"按钮。从这里,我能够找到名为" API Key"," API Secret"," Consumer Key"," Consumer Secret", "访问令牌"和"访问令牌秘密"。当我以TwitterSender身份登录时,我可以看到我已授予读/写/直接消息访问权限。如何将所有这些组合在一起,以便我可以简单地运行C#控制台应用程序并让它从TwitterSender发送推文(" Hello World!"),以便任何关注者(例如TwitterReceiver)都可以获得它?我可以用纯文本硬编码用户名/密码。在下面的代码中,我没有得到任何错误,但最终TwitterStatus最终为空,并且没有迹象表明从TwitterSender或TwitterReceiver的角度发送了推文。
TwitterClientInfo twitterClientInfo = new TwitterClientInfo();
twitterClientInfo.ConsumerKey = ConsumerKey; //Read ConsumerKey out of the app.config
twitterClientInfo.ConsumerSecret = ConsumerSecret; //Read the ConsumerSecret out the app.config
TwitterService twitterService = new TwitterService(twitterClientInfo);
twitterService.AuthenticateWith(AccessToken, AccessTokenSecret);
Console.WriteLine("Enter a Tweet");
string tweetMessage;
tweetMessage = Console.ReadLine();
TwitterStatus twitterStatus = twitterService.SendTweet(tweetMessage);
答案 0 :(得分:2)
我终于有了这个工作!简而言之,要从Windows表单发送推文而不需要用户登录,您将执行以下操作:
编写代码。例如,在按钮单击事件...
中var service = new TweetSharp.TwitterService("ConsumerKey","ConsumerSecret","TokenKey","TokenSecretKey"); //Replace keys with values from step #5
var twitterStatus = service.SendTweet(new SendTweetOptions() { Status ="Hello World" });
if (twitterStatus != null)
{
MessageBox.Show("It worked");
}
注意 - 您不能每___发送一次完全相同的推文(一些未记录的时间)。当存在身份验证问题时,twitterStatus将返回null - 如果发生这种情况,请检查您的密钥,可能重新允许并再次重新生成它们。