新しいTwitter APIに対応してみる
どうも、タケオです。
だいぶご無沙汰してしまいました。
世間ではWBCの優勝でお祭り騒ぎでしたね。
Twitter API 終了のお知らせ
うそです。終了しません。
Twitter社が突然APIの利用についてお知らせを発信しました。
いや、全然嬉しくないですから。
前回の騒ぎで無料版なら細々と使えるって話で落ち着いたのでは?とタカを括っていたら突然のお知らせでした。
ツイート可能数に変更はありませんが、APIのバージョンが2に上がっています。
1日のツイート数にも上限が設けられる様です。
Twitter API v2 対応
以前作成したソースではよく分からず作ったこともありv1.1での接続を行なっていました。
ですので、まずはv2に対応した処理に変更します。
こちらを見るとなんとBearer Tokenだけ指定すればOKとのこと。
今までは tweepy.api で認証していましたが、今度からは tweepy.Client で認証することになります。
# v1.1
auth = tweepy.OAuthHandler(api_key, api_secret)
auth.set_access_token(access_token, access_token_secret)
self.api = tweepy.API(auth)
# v2 ※エラーになりました
self.client = tweepy.Client(bearer_token)
で試してみましたがエラーとなってしまったので、公式のサンプル通りに以前と同様の設定を入れてみます。
# v2
self.client = tweepy.Client(
consumer_key=api_key, consumer_secret=api_secret,
access_token=access_token, access_token_secret=access_token_secret
)
# send tweet
self.client.create_tweet(text="This Tweet was Tweeted using Tweepy and Twitter API v2!")
こちらでは正しくツイートすることができました。
で、よくよく見直すと指定方法が間違っていましたが、このままにすることにします。
# 正しいClientの指定方法
self.client = tweepy.Client(bearer_token=bearer_token)
# ツイート内容の設定
self.client.create_tweet(text=msg)
という感じで、記述を書き換えることで Twitter API v2 に対応が完了しました。
新しいv2ってどういうことだ?
ここまでやって気が付きました。
今回対応したのは今までも提供されていた既存のv2対応でした。
これって今のv2と異なる仕様なのでしょうか。
もしそうなるとtweepyの対応を待たなくてはいけなくなるので大変なことになるかも。
というわけで
まだ通知されたばかりで情報が不足していますが、とりあえずv1.1からは脱却できたのでよしとしましょう。
続きが分かりましたら更新したいと思います。
この記事が気に入ったらサポートをしてみませんか?