2

Twitter がhttps://dev.twitter.com/docs/api/1.1/get/trends/placeGET trends/placesで提供する APIを使用して、トップ 10 のトレンド トピックのリストを取得するためのリクエストを送信しようとしていました。Python での同じコードは次のとおりです。

import twitter

CONSUMER_KEY = ' XXXXXXXXXX'
CONSUMER_SECRET ='XXXXXXXXXXXX'
OAUTH_TOKEN = ' XXXXXXXXX'
OAUTH_TOKEN_SECRET = ' XXXXXXX'

auth = twitter.oauth.OAuth(OAUTH_TOKEN, OAUTH_TOKEN_SECRET,
                           CONSUMER_KEY, CONSUMER_SECRET)

twitter_api = twitter.Twitter(auth=auth)

WORLD_WOE_ID = 1

world_trends = twitter_api.trends.place(_id=WORLD_WOE_ID)

print world_trends

「twitter_api」のみを印刷しようとすると、出力として次のようになります。

<twitter.api.Twitter object at 0x39d9b50>

これは、OAuth 資格情報を使用して、Twitter の API をクエリするための承認を取得することに成功したことを意味します。さて、上記のコードを実行した後、次のエラーが表示されます。

TwitterHTTPError: Twitter sent status 400 for URL: 1.1/trends/place.json using parameters: (id=1&oauth_consumer_key=%201FqhG77x7XaVjx6a1lnm2ip8G&oauth_nonce=3628940350753944768&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1399534257&oauth_token=%20337142662-QWaMBk6MCe5vM6to5tw3AR3cHChYc0e0yUnEB7lh&oauth_version=1.0&oauth_signature=%2BD0ZzXV8cMuc5S%2B9UKRJ85xF1wY%3D)
details: {"errors":[{"message":"Bad Authentication data","code":215}]}

エラー メッセージから、エラーは不適切な構文と関係があると考えました (HTTP 400 エラー メッセージが表示されるため)。また、https://dev.twitter.com/docs/api/1.1/get/trends/placeに記載されているサンプル URL を使用しようとすると、まだ次のエラーが発生します。 {"errors":[{"message":"Bad Authentication data","code":215}]}

コードの問題は何ですか?エラーの根本原因を見つけようとしましたが、重要な手がかりを見つけることができませんでした。

4

3 に答える 3

2

さて、ドキュメントを読んでみました。モジュールのソースコードを調べてみましたが、疑わしいものは見つかりませんでした。数人の男と話しましたが、うまくいきませんでした。そして今日、認証キーの再生成を試みました。プログラムが正常に動作するようになりました! キーを再生成することでバグがどのように解決されたかはよくわかりませんが、多くの開発者がまったく同じエラーを受け取り、何が問題なのかを本当に知っている人は誰もいません。したがって、あなたがその 1 人である場合は、認証キーを再生成するだけで、コードが機能するはずです。

于 2014-05-14T09:17:14.140 に答える
0

私は同じ問題を経験していました。初めて行う場合は、コンシューマー キー、シークレット キー、およびアクセス トークンを再生成することを強くお勧めします。と、少し調べてみると、いつも同じケースであることがわかりました。

于 2017-06-01T23:31:25.597 に答える