twitteroauthを使って基本のPOST
ツイート、ツイート削除、DM送信、リツイート、お気に入り追加、フォロー、フォローを外す を簡易クラスに追加
Application typeの変更
ログイン後、My applicationsからMy applicationsへ移動。
My applications
作成したアプリケーションが一覧になっているので該当のアプリケーションを選択。
Settingsタブを押し、設定画面へ移動。
Application type
Access
○Read and Write を選択。
Update this Twitter application's settingsを押し、更新。
基本のPOST
アクションコントローラのクラスにprivateメソッドを追加。
PHP
class twitterController
{
(略)
/**
* インデックスアクション
*/
public function indexAction()
{
// 通常ツイート
$response = $this->statusesUpdate('ツイート');
// リプライ
// $response = $this->statusesUpdate('@xxxxxxxxxxxxxxxx リプライ', $in_reply_to_status_id = '000000000000000000');
// $response = $this->statusesUpdate('コメント付きリツイート RT: @xxxxxxxxxxxxxxxx ツイート', $in_reply_to_status_id = '000000000000000000');
// ツイートを削除する
// $response = $this->statusesDestroy('000000000000000000');
// ダイレクトメッセージを送信する
// $response = $this->dmNew('000000000', 'ダイレクトメッセージ');
// リツイートする
// $response = $this->statusesRetweet('000000000000000000');
// お気に入りに追加する
// $response = $this->favoritesCreate('000000000000000000');
// フォローする
// $response = $this->friendshipsCreate('000000000');
// フォローを外す
// $response = $this->friendshipsDestroy('000000000');
print_r($response);
exit;
}
/**
* ツイートする
*
* @param string $status
* @param string $in_reply_to_status_id
* @return array
*/
private function statusesUpdate($status, $in_reply_to_status_id = '')
{
// url
$url = 'statuses/update';
// パラメタ
// テキスト(140文字以内)
$parameters['status'] = $status;
// 返信先対象のID(@usernameをテキスト内に含める必要有り)
if (! empty($in_reply_to_status_id)) {
$parameters['in_reply_to_status_id'] = $in_reply_to_status_id;
}
return $this->twitteroauth->post($url, $parameters);
}
/**
* ツイートを削除する
*
* @param string $id
* @return array
*/
private function statusesDestroy($id)
{
// + 削除対象のID
$url = 'statuses/destroy/' . $id;
return $this->twitteroauth->post($url);
}
/**
* DMを送信する
*
* @param string $user_id
* @param string $text
* @return array
*/
private function dmNew($user_id, $text)
{
$url = 'direct_messages/new';
// DMを送信対象のユーザID
$parameters['user_id'] = $user_id;
// テキスト
$parameters['text'] = $text;
return $this->twitteroauth->post($url, $parameters);
}
/**
* リツイートする
*
* @param string $id
* @return array
*/
private function statusesRetweet($id)
{
// + リツイート対象のID
$url = 'statuses/retweet/' . $id;
return $this->twitteroauth->post($url);
}
/**
* お気に入りに追加する
*
* @param string $id
* @return array
*/
private function favoritesCreate($id)
{
// + お気に入り対象のID
$url = 'favorites/create/' . $id;
return $this->twitteroauth->post($url);
}
/**
* フォローする
*
* @param string $user_id
* @return array
*/
private function friendshipsCreate($user_id)
{
$url = 'friendships/create';
// フォロー対象のユーザID
$parameters['user_id'] = $user_id;
return $this->twitteroauth->post($url, $parameters);
}
/**
* フォローを外す
*
* @param string $user_id
* @return array
*/
private function friendshipsDestroy($user_id)
{
$url = 'friendships/destroy';
// フォロー対象のユーザID
$parameters['user_id'] = $user_id;
return $this->twitteroauth->post($url, $parameters);
}
}