[Twitter Developer] {‘code’: 32, ‘message’: ‘Could not authenticate you.’} との戦い

ハマった…。

Twitter APIでデータ引っ張ってくる部分をモジュール化して、メインから呼び出すようにしていることが影響しているのか、と思って、散々、モジュール呼び出しとか、グローバル変数・ローカル変数とか調べまくった…。

結果、「クエリをURL中に指定する q が重複しているだけ」だった…。

全く別件だけど、Class化してインスタンスを作って呼び出す方法と、メソッドとして呼び出す方法の2つがあって、モジュール単体でもテストできるように 「__name__ == “__main__” : 」を使ってメソッド呼び出ししたのと、メインであインスタンス化して呼び出した部分でアンマッチがあってハマったから、

なんとなく、今回もモジュール呼び出し部分でなにか悪さしているのかな、と思っていた。

(Twitter Develperのサイトから取得するAPIキー各種は問題なかったし、ネットで漁っても「APIキーが一文字違っとか、変な空白やカンマが入っているのが原因だった」という情報が散見されたから、一応調べてみたものの、問題なかったから、てっきり…)

なんてことはない、クエリの q をメインでもつけていて、それをモジュールに渡していて、そしてモジュールでも引数に対してさらに q をつけてGET用のURLを生成していたのが原因だった。

はぁ、スッキリ。分かってよかった。そして、原因究明のために調べまくったのが、結果的に勉強になった。

やっぱり、地道だけど、頭抱えながら、一つ一つのバグを自分で解決していくのが、上達への道なんだな、と思う。