2016-09-28 22 views
1

Twitter APIの多くの機能を利用するアプリケーションがあります。私は1つのWindows 7システムでアプリケーションをテストし、すべての機能がうまく機能しました。Twitter APIのストリーミング機能を使用している401エラー(Tweepy経由)

2番目のWindows 7システムでアプリケーションをテストすると、パブリックストリームとユーザーストリームの機能を除くすべての機能が動作しているようです(つまり、アプリケーションの認証、フォロー/アンフォローユーザーなど)。このシステムでは、ストリーム機能は401 errorを生成します。私が理解しているように、401は認証エラー(この場合、非ストリーミング機能が利用可能であるために発生していません)、またはTwitterサーバーとクライアントシステムの間のa difference in time configurationを示す可能性があります。

私のアプリのストリーミング機能をクロスプラットフォーム(Windows、Mac、Unix)で利用できるようにしたいと思います。エンドユーザーがシステムのクロック設定を変更することは期待できません。誰もシステムに依存しないTweepy/pythonベースのソリューションを、時間構成の問題によって引き起こされるという条件の下で401エラーの問題に推奨できますか?ありがとう。

EDIT:ストリーム機能が動作していないされたシステム上

、手動でシステムクロックに手を加えた後、成功しません、私はtime.windows.comと同期。これは、表示されていた時間(私は秒のビューを持っていなかった)にはっきりとした影響を与えませんでしたが、問題を解決しました(つまり、Twitterユーザーとパブリックストリームの機能が利用可能になりました)。問題は残っています。エンドユーザーのシステムでこのようなエラーが発生するのを防ぐにはどうすればいいですか?ユーザーに時計の調整を警告するのは現実的ではありません。

+0

本当に認証エラーではありませんか? API docs [Streaming With Tweepy](http://docs.tweepy.org/ja/v3.4.0/streaming_how_to.html): 'TwitterストリームにアクセスするにはAPI権限が必要です.' – davedwards

+0

@downshiftもしそれが認証エラーだったので、ストリーミングと非ストリーミングの機能が同じ資格情報を使用するため、すべての非ストリーミング機能を使用できるとは思われません。また、なぜプログラムが1台のマシンで動作するのか、別のマシンで動作しないのか説明できません。 – Boa

+0

私はあなたが認証要件について正しいと確信しています。あなたはapiを使用するよりも理解と経験が豊かです。しかし、プログラムは、資格情報に環境変数を設定し、他のコンピュータには環境変数を設定していないシステムでも動作する可能性があります。 – davedwards

答えて

1

システムクロックはおそらく5分以上です。

+0

奇妙なことに、それが動作していなかったWindows 7マシンの時計は、動作していたWindows 7マシンと基本的に同じ時間(数秒遅れて)表示されていました。しかし問題は、クロック問題に対するマルチシステムtweepy/pythonベースのソリューションを実装することと関係していました。それに関する提案はありますか? – Boa

+0

同じ資格情報で開かれた最大3つのストリームを同時に取得することができます。最初のインスタンスが停止している間に2番目のインスタンスを動作させることができましたか? – Jonas

+0

それは時計の問題であることが判明し、手動時計調整に失敗した後、Microsoftのタイムサーバーと同期することで修正されました。しかし、問題は、時計を調整するように頼むことなく、エンドユーザーのシステムでこの問題が発生するのを防ぐ方法です。 – Boa

関連する問題