使用 tweetinvi 在 Twitter 上发布消息并不能始终如一地发布推文
posting message on twitter using tweetinvi does not consistently publish the tweet
我有一个用户列表,我需要 post 在 Twitter 上发消息(post 在我们的帐户上发消息,然后使用 @ID 引用这些用户),使用 tweetinvi。目前,这是我的代码。我正在尝试 post 每 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));
}
请注意,key、secret、token 和 tokenSecret 已分配值,帐户确实登录并发送推文,只是不会始终如一地执行,它会发送一段时间然后停止。我做错了什么?
我是 Tweetinvi 的开发者。
正如您提到的,Twitter 授权的每天推文的理论限制是 2400 条/天,分为 30 分钟的块(每 30 分钟 50 条)。
尽管为了防止 Twitter 上的垃圾邮件,他们的服务器应用了未记录的测试以确保推文是 'legitimate' 推文。
因此,在我们认为问题来自图书馆之前,让我们先分析一下 Twitter returns 并尝试稍微减少您每天发布的推文数量。
- 将计时器增加到 0.5 秒 (1440 tweets/day)。
- 检查 Twitter 返回的错误 (https://github.com/linvi/tweetinvi/wiki/Exception-Handling#per-request-exception-handling)
在错误中您会发现 2 个有用的属性:TwitterExceptionInfos
和 TwitterDescription
。如果这 2 个属性不能真正帮助您确定问题,请分享 TwitterException
中可用的所有信息,我会仔细研究它们。
周末愉快!
我有一个用户列表,我需要 post 在 Twitter 上发消息(post 在我们的帐户上发消息,然后使用 @ID 引用这些用户),使用 tweetinvi。目前,这是我的代码。我正在尝试 post 每 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));
}
请注意,key、secret、token 和 tokenSecret 已分配值,帐户确实登录并发送推文,只是不会始终如一地执行,它会发送一段时间然后停止。我做错了什么?
我是 Tweetinvi 的开发者。
正如您提到的,Twitter 授权的每天推文的理论限制是 2400 条/天,分为 30 分钟的块(每 30 分钟 50 条)。
尽管为了防止 Twitter 上的垃圾邮件,他们的服务器应用了未记录的测试以确保推文是 'legitimate' 推文。
因此,在我们认为问题来自图书馆之前,让我们先分析一下 Twitter returns 并尝试稍微减少您每天发布的推文数量。
- 将计时器增加到 0.5 秒 (1440 tweets/day)。
- 检查 Twitter 返回的错误 (https://github.com/linvi/tweetinvi/wiki/Exception-Handling#per-request-exception-handling)
在错误中您会发现 2 个有用的属性:TwitterExceptionInfos
和 TwitterDescription
。如果这 2 个属性不能真正帮助您确定问题,请分享 TwitterException
中可用的所有信息,我会仔细研究它们。
周末愉快!