ずっとTwitter API v1.1を使っていたのですが、さすがに期限が近づいてきたのでv2へと変更することにしました。
目次
準備するもの
Twitter Developer Portalから取得するもの
Consumer Keys
- API Key
- API Key Secret
Authentication Tokens
- Access Token
- Access Token Secret
Access Token and Secret のパーミッションが「Read and Write」になっていないとツイートできません。
「Read」のみの場合は、User authentication settings から 「Read and Write」を選択しましょう。
パーミッションを変更した場合は、Access Tokenの作り直しが必要です。
準備するライブラリ
PHPとPythonでそれぞれ必要なライブラリを準備します。
PHPのライブラリ
composerでインストールするのが簡単です。
$ cd /var/www/html/プログラムを実行したい場所
$ composer require abraham/twitteroauth
Pythonのライブラリ
pipでインストールするのが簡単です。
$ python -m pip install tweepy
TweepyをTwitter API v2で使う場合は、Tweepy v4.3.0以上が必要です。
既にインストールされていて、バージョンが古い場合はアップデートしましょう。
アップデートの場合は、以下のコマンドです。
$ python -m pip install -U tweepy
PHPでツイートする
PHPでツイートする場合は、以下のようなプログラムになります。
//ライブラリ
require __DIR__ . '/vendor/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
//Twitter Developer Portalから取得したキーを設定
$consumer_key = '<API KEY>';
$consumer_secret = '<API KEY SECRET>';
$access_token = '<ACCESS TOKEN>';
$access_token_secret = '<ACCESS TOKEN SECRET>';
//ツイート内容
$content = 'ツイート内容';
//認証
$client = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
//v2使用を宣言
$client->setApiVersion('2');
//ツイート
$client->post('tweets', ['text' => $content], true);
$client->setApiVersion(‘2’);
これを入れないと、v1.1を使用するので注意
Pythonでツイートする
Pythonでツイートする場合は、以下のようなプログラムになります。
#ライブラリ
import tweepy
#Twitter Developer Portalから取得したキーを設定
ck = '<API KEY>'
cs = '<API KEY SECRET>'
at = '<ACCESS TOKEN>'
ats = '<ACCESS TOKEN SECRET>'
#ツイート内容
content = 'ツイート内容'
#認証
client = tweepy.Client(consumer_key=ck, consumer_secret=cs, access_token=at, access_token_secret=ats)
#ツイート
client.create_tweet(text=content)