paths ./js2py/base.py ./js2py/evaljs.py ./tweepy-authlib/CookieSessionUserHandler.py packages = ["tweepy", "ssl"]
import shutil from pathlib import Path try: terminal_size = shutil.get_terminal_size().columns except OSError: terminal_size = 80 # 保存した Cookie を使って認証 ## 毎回ログインすると不審なログインとして扱われる可能性が高くなるため、 ## できるだけ以前認証した際に保存した Cookie を使って認証することを推奨 if Path('cookie.json').exists(): # 保存した Cookie を読み込む with open('cookie.json', 'r') as f: cookies_dict = json.load(f) # RequestCookieJar オブジェクトに変換 cookies = RequestsCookieJar() for key, value in cookies_dict.items(): cookies.set(key, value) # 読み込んだ RequestCookieJar オブジェクトを CookieSessionUserHandler に渡す auth_handler = CookieSessionUserHandler(cookies=cookies) # スクリーンネームとパスワードを指定して認証 else: # スクリーンネームとパスワードを渡す ## スクリーンネームとパスワードを指定する場合は初期化時に認証のための API リクエストが多数行われるため、完了まで数秒かかる try: auth_handler = CookieSessionUserHandler(screen_name='@2eULg9cHcZXQvZ9', password='Lciel1964') except tweepy.HTTPException as ex: # パスワードが間違っているなどの理由で認証に失敗した場合 if len(ex.api_codes) > 0 and len(ex.api_messages) > 0: error_message = f'Code: {ex.api_codes[0]}, Message: {ex.api_messages[0]}' else: error_message = 'Unknown Error' raise Exception(f'Failed to authenticate with password ({error_message})')