【2023/06】Twitter APIがsuspendedになってる場合の対処法&Twitter APIバージョン1.1→2.0に対応したPHPライブラリTwitterOAuthを導入

スポンサーリンク
composer
スポンサーリンク
↑管理人が個人でUnity+Live2Dで作成しているスマホゲームです
スポンサーリンク

Twitter APIがsuspendedになってる場合の対処法

Twitter Portalを開き、アプリの状態を確認します。
2023年5月のタイミングでsuspendedになっている場合、APIの無料使用条件に対応する状態にアプリがなっていないので規約違反となっている状態です。サポートチケットなどを出す必要はありません。

まずはアプリを一つだけ残して削除します。
その後、Productsを開き、「Downgrade」のボタンを押します。これで無料プランの状態(月1500ツイートまで)になり、Suspendedが解除されます。

Twitter APIバージョン1.1→2.0に対応したTwitterOAuthを導入

10年間同じバージョンのTwitterOAuthライブラリ(非Composer版)を使っていたのですが、バージョン1.1でツイート出来なくなったようなので新しいバージョンのTwitterOAuthを入れてみました(環境はCentOS7.9)。

yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install composer
composer require abraham/twitteroauth

PHPソースはこんな感じでシンプルになります。

<?php

require "vendor/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

$apiKey= 'APIキー';
$apiSecret= 'APIキーシークレット';
$accessToken= 'アクセストークン';
$accessTokenSecret= 'アクセストークンシークレット';

$connection = new TwitterOAuth($apiKey, $apiSecret, $accessToken, $accessTokenSecret);
$connection->setApiVersion('2');
$response = $connection->post("tweets", ["text" => $tweet_text], true); # trueでjsonで結果が返る

もし「Call to undefined method Abraham\TwitterOAuth\TwitterOAuth::setApiVersion()」と出た場合はComposerでインストールされたTwitterOAuthのバージョンが低いです。
(その場合サーバのPHPのバージョンも低いので、gitから直接最新版をDLして動かしても、「php nullable syntax error, unexpected ?」とかが出て動きません)。
PHP8以降が現時点のTwitterOAuth最新版の動作環境なので、ComposerでインストールできるようにPHP8を入れます。

yum install php80-php 

# php80-php以外のライブラリはお好みで。yum list installed | grep phpで検索して該当ライブラリと同じもののphp80版をインストール。自鯖ではこんな感じに
# yum install php80-php php80-php-cli php80-php-common php80-php-devel php80-php-fpm php80-php-gd php80-php-json php80-php-mbstring php80-php-mysqlnd php80-php-pdo php80-php-pear php80-php-pecl-apcu php80-php-pecl-apcu-devel php80-php-pecl-mysql php80-php-process php80-php-xml php80-runtime 

which php80 #php80の場所確認
ln -sf /usr/bin/php80 /usr/bin/php #phpコマンドで動くように

composer update abraham/twitteroauth

無料プランでは月1500ツイートまでなので、30分に1度ツイートにすれば、30日で1440ツイートになり丁度いいです。

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
読み込み中...

コメント

広告ブロッカーを無効にしてください。

タイトルとURLをコピーしました