我有一个用户列表,我需要在Twitter上发布消息(在我们的帐户上发布消息,然后使用@ID引用这些用户),使用tweetinvi。目前,这是我的代码。我试图每隔36秒发布一条消息,以获得每天可能发送的最大推文数量(2400)。
static void Main(string[] args)
{
allUsers = analytics.getAllUniqueUserID();
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 36000;
aTimer.Enabled = true;
while (true)
{
//just to keep console open
}
}
时间事件如下
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
lastMessaged = analytics.getLastUserIDMessaged() + 1;
string identifier = allUsers[lastMessaged];
string message = "Hello";
TwitterAccess.publicTweetToUsers(identifier, message);
analytics.writeLastIDToFile(lastMessaged.ToString());
}
使用publicTweetToUsers如下
public static void publicTweetToUsers(string identifier, string message)
{
Auth.SetUserCredentials(key, secret, token, tokenSecret);
var user = User.GetAuthenticatedUser();
var tweet = Tweet.PublishTweet(string.Format("{0} {1}", identifier, message));
}
请注意,密钥,密码,令牌和tokenSecret都是分配的值,帐户会登录并发送推文,它只是没有做到这一点,它会发送一段时间然后停止。请修复错误,如果有错误,或指向我可行的解决方案。感谢
答案 0 :(得分:3)
我是Tweetinvi的开发者。
正如您所提到的,推特每天推特的理论限制为2400 /天,分为30分钟(每30分钟50片)。
虽然为了防止Twitter上的垃圾邮件,他们的服务器会应用未记录的测试来确保推文是“合法的”推文。
因此,在我们考虑问题来自图书馆之前,让我们分析一下Twitter返回的内容,并尝试稍微减少您每天发布的推文数量。
在错误中,您会找到2个有用的属性:TwitterExceptionInfos
和TwitterDescription
。如果这2个属性确实无法帮助您确定问题,请分享TwitterException
中提供的所有信息,我会仔细查看它们。
周末愉快!