0
1

More than 1 year has passed since last update.

twitter apiとtkinterでツイート送信画面を作ります

Posted at

image.png

環境

windows11
Python 3.9.6

はじめに

今回はtwitter apiとtkinterでツイート送信画面を作ります。twitter開発者登録のやり方やトークン類の取得の仕方は説明を省略しています。

コード

トークン関係をまとめるkeys.pyと画面関係をまとめるgui.pyに分けてコードを書きます。

keys.py
import tweepy

class Apikeys:
     CK = '' # Consumer API key
     CKS = '' # Consumer API Secret key
     AT = '' # Access token
     ATS = '' # Access token secret
     auth = tweepy.OAuthHandler(CK, CKS)
     auth.set_access_token(AT, ATS)
     api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)

トークン関係をclassにまとめて書いてあります。取得したトークン類をコピペしましょう。
次にgui.pyを書きます。

gui.py
import tweepy
import tkinter 
from keys import Apikeys

api = Apikeys.api # twitter apiを使えるようにする

def send_sentence(sentence):
    sentence = entry_1.get()
    try:
        api.update_status(sentence)
        entry_1.delete(0,tkinter.END)
        print("送信完了!")
    except tweepy.TweepError as e:
        print(e.reason) # exceptでエラーの原因を出力

root = tkinter.Tk() # インスタンスの生成
root.title('送信画面')
root.geometry('512x256')

canvas = tkinter.Canvas(root, bg="#000000", height=256, width=512) 
canvas.place(x=0, y=0)
canvas.create_image(30, 30, anchor=tkinter.NW)

entry_1 = tkinter.Entry(root)
entry_1.insert(0,"文章をかいてね")
entry_1.place(x=10,y=10,width=500,height=50)

button_1 = tkinter.Button(root, text='送信!')
button_1.place(x=10,y=60,width=100,height=20)
button_1.bind("<ButtonPress>",send_sentence)

root.mainloop()

tkinterのメソッド

使っているメソッドの説明をして終わります。

root.title()

ウインドウのタイトルを決められます。

root.geometry()

ウインドウの横と縦のサイズを決められます。

tkinter.Canvas(root, bg="", height=, width=)

キャンバスの色や大きさを指定できます

tkinter.button()

ボタンのテキストや大きさを決められます。

tkinter.Entry()

送信したい文字列を入力できるボックスを作成できます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1