TwitterのREST APIについて その3(自動ツイートまで)

こんばんは、みんろです!

TwitterAPIを使って色々してみたいPart3です!
本日は、Pythonを使ってテストツイートができるところまで進めて行きますよ。
今回は英語はないけど、個人のPCでの実行とかになるから、環境周りの整備が大変かも。
下記内容はmacの場合なので、Windowsはまたちょっと違うかな。

【前回】TwitterDeveloper登録まで。
 https://minro-blog.info/system/develop/twitter-api-2/

【参考にしたURL】
 https://qiita.com/bakira/items/00743d10ec42993f85eb
 今回はほとんどここのサイトを参考にさせていただきました。
 https://qiita.com/tom-u/items/134e2b8d4e11feea8e12
 pipがインストールされてない場合はこっちを参考に。
 macの場合は最初からPythonがインストールされている。

1.  自動ツイートまでのPC環境準備

①ライブラリインストール
 コマンドで下記を実行する。
pip install requests requests-oauthlib
 ※僕の場合はpipがインストールされてないってエラーが、、
  上記の参考にしたURLからpipをインストールしましょう。
 
②pythonファイルを準備しましょう。
 上記の参考サイトでは、log出力がなかったので、logも出せるように下記の3ファイルを準備しましょう。
  • postTweet.py
    import json, config, log #標準のjsonモジュールとconfig.pyの読み込み
    from requests_oauthlib import OAuth1Session #OAuthのライブラリの読み込み
    
    CK = config.CONSUMER_KEY
    CS = config.CONSUMER_SECRET
    AT = config.ACCESS_TOKEN
    ATS = config.ACCESS_TOKEN_SECRET
    #認証処理
    twitter = OAuth1Session(CK, CS, AT, ATS)
    
    #ツイートポストエンドポイント
    url = "https://api.twitter.com/1.1/statuses/update.json"
    
    print("内容を入力してください。")
    #キーボード入力の取得
    tweet = input('>> ')
    print('*******************************************')
    
    #パラメータにツイート内容をセット
    params = {"status" : tweet}
    
    #post送信
    res = twitter.post(url, params = params)
    
    #post結果をログに出力
    log.tweet(json.dumps(json.loads(res.text), ensure_ascii=False))
    
    
    if res.status_code == 200: #正常投稿出来た場合
        print("Success.")
    else: #正常投稿出来なかった場合
        print("Failed. : %d"% res.status_code)

     

  • config.py
    CONSUMER_KEY = "*********************"
    CONSUMER_SECRET = "*********************"
    ACCESS_TOKEN = "*********************"
    ACCESS_TOKEN_SECRET = "*********************"
    

     

  • log.py
    # log making
    import datetime
    
    def tweet(text):
        dt = datetime.datetime.now() #時間取得
        str = 'logs/tweet_' + dt.strftime("%Y%m%d%H%M%S") + '.log'
        f = open(str, 'w') # ファイルを開く(該当ファイルがなければ新規作成)
        f.write(text) # 文字列を記載する
        f.close() # ファイルを閉じる
    
        #":"と","で改行コード
        with open(str,"r",encoding="utf-8") as file:
            filedata=file.read()
            filedata=filedata.replace(":",":\n")
            filedata=filedata.replace(",",",\n")
        with open(str,"w",encoding="utf-8") as file:
            file.write(filedata)
        return;
    

     

 最終的なディレクトリ構成は下記のようになりました。












 
 コマンド上では下記のディレクトリ構成

 

③やっと実行できますよ。
 コマンドラインで下記を実行しましょう。

python3 postTweet.py

 エラーなく行けば、ツイート内容を聞かれるので今回は「test」でエンター。
 下記の画像のように、Successが表示されていれば、ツイート成功。
 ログファイルも出力されてそうでOKでした。
 早速ツイッターの画面も確認しよう。

 ツイートもちゃんとできてました!

 


 

 今日はここまで!
 次回は、検索や自動フォローなど、ケースバイケースで紹介していこうと思います!

おすすめ

コメントを残す

メールアドレスが公開されることはありません。