twitter stream apiに接続して、リアルタイムでつぶやきを取得しようとしています。このコードは5-6日前に動作していました。突然、私はいつも401を受け取るようになりました。不思議なことに、これは私のローカルマシンとクラウドにあるプロダクションサーバーで起きているので、これはネットワーク関連の問題ではないと思います。ここでTweepy streaming returns 401承認が必要
コードは次のとおりです。
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
auth.callback = 'https://localhost' #no effect commented/uncommented
stream = Stream(auth, l)
stream.filter(track=['twitter'], languages=["es"])
これまでのところ、私は次のことを試してみた:
- 新しいコンシューマキー、コンシューマシークレット、アクセストークンとアクセストークンシークレットを生成します。私は前に働いていた4種類のキーを使いました。
- apps.twitter.comから新しい新しいアプリを作成しました。一部のユーザーが、401の「Authorization Required」が、TwitterのアプリケーションページにないコールバックURLフィールドに関連していると報告したため、コールバックURLを埋めました。
- ローカルサーバーと運用サーバーの両方でntpサーバーと同期しています。私の時計はオフではありません。
- 私のアプリケーションは正しい権限を持ち、設定後にアクセストークンとシークレットを受け取りました。
'Content-Length': '22' 'Content-Type': 'application/x-www-form-urlencoded' 'Authorization': 'OAuth oauth_nonce="161484371946745487981492681844" oauth_timestamp="1492681844" oauth_version="1.0" oauth_signature_method="HMAC-SHA1" oauth_consumer_key="<oauth_consumer_key>" oauth_token="<oauth_token>" oauth_signature="tphQqFWaBvEo2byjZ%2BRqNAM30I0%3D"' Method: 'POST' URL: 'https://stream.twitter.com/1.1/statuses/filter.json?delimited=length'
すべてのヘルプは、私は401権限「権限が必要です」の応答を取得しています理由については理解されるであろう。ここでは
が要求されます。
編集:私もTwythonを使ってみましたが、私はツイッターから同じ応答を返しました。
おかげ
twython Oauthと同じです。また、ストリームエンドポイントに接続するためにOauth2は必要ありません。 –
tweepyの古いバージョンを使用していますか? –