2017-06-24 16 views
1

私はまだPythonでのエラー処理に慣れていません。 1.1 /友情/ create.jsonパラメータを使用して::Python twitterパッケージ:エラーコードを取得

import twitter 

#[...] 

try: 
    twitter_connexion.friendships.create(screen_name = "someone_who_blocked_me", follow = True) 
except twitter.TwitterHTTPError as twittererror: 
    print(twittererror) 

ツイッターをURLのステータス403を送った:私はpython-twitterパッケージを使用して、エラーを取得するときにエラーコードを取得する方法を知りたい(続きます=真& oauth_consumer_key = XXX & oauth_nonce = XXX & oauth_signature_method = HMAC-SHA1 & oauth_timestamp = XXX & oauth_token = XXX & oauth_version = 1.0 & SCREEN_NAME = someone_who_blocked_me & oauth_signature = XXX) 詳細:{ 'エラー':[{ 'メッセージ' : 'あなたはちょうど今まで〜だった 利用者の要求に応じて、このアカウントを以下からブロック '、 『コード』:。162}]}

この場合、私は'code': 162一部、または単に162を取得したいと思います。

twittererror.argsは私が162を取得できますか文字列で、その中の一つの要素、print(twittererror.args[0][0:10])出力Twitter se

とタプルのですか? TwitterHTTPErrorがどのように見てみる

(他のエラーメッセージが異なる長さのものであろうと、エラーコードが[582:585]になりませんよう明らかに、twittererror.args[0][582:585]は、私が探している答えではありません)

+0

印刷'の出力がどのようなものです(DIR(twittererror)):

は、したがって、あなたはそのような何かを行うことができます –

答えて

3

this GitHub repoで定義されている場合は、twittererror.response_dataでディクテーションを取得する必要があります。 `

import twitter 

#[...] 

try: 
    twitter_connexion.friendships.create(screen_name = "someone_who_blocked_me", follow = True) 
except twitter.TwitterHTTPError as twittererror: 
    for error in twittererror.response_data.get("errors", []): 
      print(error.get("code", None)) 
関連する問題