わかりましたので、APIなどの以前の経験がなくても、この作業を最大限に活用することができました.
これが私のステップバイステップガイドです:
ステップ 1.
Twitter リストを作成します。
- 移動: https://twitter.com/username/lists
- 「リストを作成」をクリック
- 詳細を入力して保存します。
- リストに追加したい Twitter ユーザーに移動し、歯車のドロップダウンをクリックして、[リストから追加または削除] を選択します。リストの横にあるチェックボックスにチェックを入れます。
ステップ 2. https://dev.twitter.com/apps/new
から Twitter アプリを作成します。
- Twitter 資格情報を使用してログインします。
- アプリに名前、説明などを付けます。
- [設定] タブに移動し、[アクセス タイプ] を [読み取りと書き込み] に変更してから、[この Twitter アプリケーションの設定を更新する] をクリックします。
- ページの下部にある [アクセス トークンを作成] をクリックします。
これで、コンシューマ キー、コンシューマ シークレット、アクセス トークン、およびアクセス トークン シークレットが作成されます。これらをメモします。
ステップ 3. API トークンを作成します。
https://github.com/abraham/twitteroauthから Abraham Twitter oAuth ライブラリをダウンロードしてサーバーにインストールします(「twitter」というフォルダーを使用します)。
新しいファイルを作成し、oAuth フォルダーに authorise.php という名前を付けて、次のコードを内部に配置します (名前付きテキストの代わりに生成されたキーを使用します)。(コードを < ? PHP と ?> ブラケットの間に入れます)。
// Create our twitter API object
require_once("twitteroauth/twitteroauth.php");
$oauth = new TwitterOAuth('Put-Consumer-Key-here', 'Put-Consumer-secret-here',
'Put-Access-Token-here', 'Put-Access-token-secret-here');
// Send an API request to verify credentials
$credentials = $oauth->get("account/verify_credentials");
echo "Connected as @" . $credentials->screen_name;
// Post our new "hello world" status
$oauth->post('statuses/update', array('status' => "hello world"));
これで、Twitter アプリが API に対して承認され、Twitter アカウントに「hello world」ステータスが投稿されました。
注: 以前に行った読み取り/書き込みアクセスの変更により、コードがステータスの更新を投稿できるようになりました。実際には API からリストをプルする必要はありませんが、正常に動作していることを確認するために行いました。([設定] に戻ると、これを再びオフにすることができます)。
ステップ 4.
PHP ファイルを作成してリストを取得し、ファイルをキャッシュします。
- XML ファイル (YOUR-FILE-NAME.xml) を作成し、oAuth フォルダーに保存します。
- PHP ファイル (YOUR-PHP-FILE.php) を作成し、oAuth フォルダーに保存します。
Twitter API キー、ファイル名、および Twitter リストの詳細を使用して以下のコードを編集し、PHP ファイルに保存します。(コードを < ? PHP および ?> 括弧内に入れます)。
/* Twitter keys & secrets here */
$consumer_key = 'INSERT HERE';
$consumer_secret = 'INSERT HERE';
$access_token = 'INSERT HERE';
$access_token_secret = 'INSERT HERE';
// Create Twitter API object
require_once('twitteroauth/twitteroauth.php');
// get access token and secret from Twitter
$oauth = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
// fake a user agent to have higher rate limit
$oauth->useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9';
// Send an API request to verify credentials
$credentials = $oauth->get('account/verify_credentials');
echo 'Connected as @' . $credentials->screen_name . '\n';
// Show API hits remaining
$remaining = $oauth->get('account/rate_limit_status');
echo "Current API hits remaining: {$remaining->remaining_hits}.\n";
$ch = curl_init();
$file = fopen("YOUR-FILE-NAME.xml", "w+");
curl_setopt($ch, CURLOPT_URL,'https://api.twitter.com/1/lists/statuses.xml?slug=INSERT-LIST-NAME&owner_screen_name=INSERT-YOUR-TWITTER-USERNAME-HERE&include_entities=true');
curl_setopt($ch, CURLOPT_FILE, $file);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($file);?>
ファイル パスをブラウザにコピーしてテストします。(例: http://www.yourwebsite.com/twitter/YOUR-PHP-FILE.php )
これは twitter に連絡し、リストを XML ファイルとして取得し、YOUR-FILE-NAME.xml に保存します。XML ファイルを開いてテストします。Twitter リストのユーザーからの最新のステータスが含まれているはずです。
ステップ 5.
Cron ジョブを介して PHP スクリプトを自動化し、好きな回数 (1 時間あたり最大 350 回) 実行します。
- Cpanel を開き、[Cron ジョブ] をクリックします (通常は [詳細設定] の下にあります)。
- 共通設定を使用して、スクリプトの規則性を選択できます。
コマンド フィールドに次のコードを追加します。
php /home/CPANEL-USERNAME/public_html/WEBSITE/twitter/YOUR-PHP-FILE.php >/dev/null 2>&1
スクリプトは選択した回数だけ実行され、Twitter からリストを取得して YOUR-FILE-NAME.xml に保存します。
ステップ 6.
キャッシュされた XML ファイルからステータスを取得できるようになりました。これは、訪問者が API に対して不要な呼び出しを行わないようにすることを意味します。
特定の screen_name をターゲットにする方法をまだ考えていませんが、誰かが助けてくれますか?