1

この質問を投稿する前に、私は多くのことを考えました。APIに関していくつか問題がTwitterあります。Twitter4jTwitterからユーザーのフォロワーを集めています。しばらくは正常に動作し、その後エラーが表示されます

401:Authentication credentials ( http://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid conumer key cret, access token cret, and the system clock in in sync.
error - Timestamp out of bounds
request - /1/account erify_credentials.json?include_entities=false
Relevant discussions can be on the Internet at:
http://www.google.co.jp/search?q=6f0f59ca or
http://www.google.co.jp/search?q=3f8a87d4
TwitterException{exceptionCode=[6f0f59ca-3f8a87d4], statusCode=401, retryAfter=0, rateLimitStatus=null, version=2.2.0}
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:189)
at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65)
at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:93)
at twitter4j.TwitterBaseImpl.fillInIDAndScreenName(TwitterBaseImpl.java:131)
at twitter4j.TwitterImpl.verifyCredentials(TwitterImpl.java:1150)
at com.xinlab.blueapple.twitterrobot.ConvertRobot$1.run(ConvertRobot.java:77)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Failed to get mentions: 401:Authentication credentials ( http://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid conumer key cret, access token cret, and the system clock in in sync.
error - Timestamp out of bounds
request - /1/account erify_credentials.json?include_entities=false

私はウェブを見ましたが、正しい答えが得られませんでした。時計を同期することを提案した人もいましたが、同期の方法については誰も言及していませんでした(これが問題かどうかはわかりませんが、他の問題がある可能性があります)。

クレデンシャルは15〜20分間正常に機能するため、間違っていることはありません。Thread.sleep(x)また、Twitterでは1時間あたり350を超えるクエリを要求できないため、私も使用していることを伝えたいと思います。

したがって、問題が他の投稿でほとんどのユーザーが言ったように時間同期にある場合、それは何かと関係がありますThread.sleep(12000)

更新:エラーが発生するのは、Twitterがツイートが保護されているユーザーからのフォロワーを求めているときだとわかりました。それと関係がありますか?

4

3 に答える 3

1

クロックを同期することをお勧めするのは、リクエストに、リクエストの検証に使用される署名を生成するときにハッシュアルゴリズムをシードするために使用されるタイムスタンプがあるためです。

署名は、作成された要求、作成者、作成したアプリケーション、作成された日時、および別のランダムな値に固有です。

リクエストは時間に敏感であるため、サービス(Twitter)はタイムスタンプが+/-時間内にあることを確認します。正確な時刻は不明ですが、サービスでは可能な限り小さくする必要があります。

インターネットタイムサービスを使用してシステムクロックを同期する必要があります。Linuxでの時刻の設定についてGoogleが提供してくれた記事は次のとおりです。http ://www.go2linux.org/how-to-set-the-date-and-time-in-linux

于 2011-11-09T19:54:19.167 に答える
0

はい、提案はあなたの時計をチェック/同期することです。私は同じことをしようとしました、そして私は私のシステム時間(ラップトップ/ PC)を更新し続けました。1時間後、エミュレータのシステム時刻がサーバーと同期していないことに気付きました。エミュレータを停止して再起動しました。動作しました。また、システム時刻を次の場所から手動で変更することもできます。

  1. 設定
  2. 日時
  3. 自動日付と時刻のチェックを外します
  4. 設定時間

これが誰かを助けることを願っています。

ありがとう!

于 2015-05-04T09:03:48.837 に答える
0
  • 「日時設定」に移動してください
  • 時間を自動的にオンに設定
  • エミュレータを再起動します

于 2015-10-08T09:14:06.420 に答える