2017-01-15 19 views
0

tweetinviを使用してTwitterにメッセージを投稿する(私たちのアカウントにメッセージを投稿し、これらのユーザーを@IDで参照する)必要があるユーザーのリストがあります。現在、これは私のコードです。私は毎日(2400)可能なつぶやきの最大量を得るために36秒ごとにメッセージを投稿しようとしています。その鍵、秘密、トークンとtokenSecretが割り当てられている値に注意してくださいtweetinviを使ってツイッターでメッセージを投稿すると、一貫してツイートが公開されない

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)); 

    } 

を次のように時限式イベントで

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 
     } 
    } 

はpublicTweetToUsersで

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()); 



    } 

を次のようにして、アカウントがログインありませんつぶやきを送信すると、それはただちにそれをしません、それは一定の期間送信し、その後停止します。バグがあれば修正するか、実行可能な解決策を教えてください。ありがとう

答えて

3

私はTweetinviの開発者です。

あなたが言いましたように、Twitterによって承認された1日あたりのつぶやきの理論上の制限は、2400 /日が30分(30分ごとに50分)に分割されています。

ツイッターでスパムを防ぐために、彼らのサーバーは、ツイートが「正当な」ツイートであることを確認するために、文書化されていないテストを適用します。

この問題はライブラリから来ているとみなされる前に、Twitterが返すものを分析して、1日に公開するつぶやきの数をわずかに減らそうとします。

  1. タイマーを0.5秒(1440ツイート/日)に増やします。 TwitterExceptionInfosTwitterDescription
  2. あなたは2つの有用な性質がありますエラーでツイッター(https://github.com/linvi/tweetinvi/wiki/Exception-Handling#per-request-exception-handling)によって返されたエラー

を確認してください。これらの2つのプロパティが本当に問題を特定するのに役立たない場合は、TwitterExceptionで利用可能なすべての情報を共有してください。それらを詳しく見ていきます。

素晴らしい週末を過ごしましょう!

+0

ご返信ありがとうございます。どういうわけか、私のプログラムは、その記事で言及されているようにTwitterExceptionを見つけることができません。単に名前空間が足りないと言っています...私はtweetinviを間違って追加しましたか? Visual Studio 2010を使用しています:fixed xDはTweetinvi.Exceptionsを使用して追加するのを忘れました。 – pieter

+0

よろしくお願いします。 – Linvi

+0

完璧に動作し、60秒ごとに送信する遅延を変更すると、処理中のtweetinviの新しいバージョンにもアップグレードされたようですが、お返事いただきありがとうございます! – pieter