Twitter の “片思い” とは…フォローしてるのにフォローバックしてくれていない、一方的に気になっている相手の事です(?)
もちろん Twitter アプリの [フォロー中] を開けば “片思い” かどうかを確認することはできるのですが、問題なのは「一番 “昔” にフォローした片思い」を確認するために もの凄く下の方までスクロールしていかなければならない ということです。
この問題を解決するために、本記事では Twitter の “片思い” の相手を古い順番で表示する PHP + TwitterOAuth サンプルプログラムをご紹介し、実際にご活用頂ける Web アプリも作ってみました。
SNS マーケティングなどにご活用頂けると幸いです。
※参考サイトは最下部にまとめております。
目次
フォロワー一覧を取得する
別記事「TwitterOAuth を使ってフォロワー一覧を取得する PHP サンプルプログラム」でフォロワー一覧を取得するプログラムをご紹介いたしましたが、確認のため 再度掲載しておきます…
※TwitterOAuth クラスを初期化する前半部分は上記の別記事をご参照ください。
<?php
//パラメータの定義
$arrParameters = [
'screen_name'=>"hogehoge", //ユーザ名
'count'=>5000, //取得数
'stringify_ids'=>true, //ID を文字列で取得
];
//フォロワー一覧を取得
$objFollowers = $objTwitter->get("followers/ids", $arrParameters);
if (isset($objFollowers->ids)){//成功した場合
foreach($objFollowers->ids as $strFollowerIDs){
echo $strFollowerIDs . "<br>";
}
}
?>
フォロー中一覧を取得する
フォロー中一覧を取得するプログラムは、上記の “followers/ids” → “friends/ids” に変更するだけです。
※サンプルプログラムは割愛させて頂きます。
“片思い” を取得するには?
「片思い」を取得するには…以下の流れに沿って処理します(プログラマーではない方のために、極力簡単に書いてみます)。
- 自身のフォロワーを一括取得しておきます。
- 自身のフォロー中を一覧表示させます。
- (2) のフォロー中を一人ずつ 以下の判定をしていきます…
- 仮に ユーザー名が @hogehoge とすると… @hogehoge が (1) の一覧表示させているフォロワーの中にいれば…片思いではありません(相互フォローなので、今後とも仲良くしたいですね)。
- @hogehoge が (1) で一覧表示させているフォロワーの中にいなければ…こいつは「片思い」なので ブロックしてやります!(そもそもフォローされてないので、無意味な抵抗です、、)
- 次のユーザー @fugafuga の判定に進みます…
プログラム的に考えるなら、こんな感じになります。
PHP – TwitterOAuth サンプルプログラム
実際に PHP + TwitterOAuth でコーディングすると、こんな感じになります…
<?php
//(1) フォロワー一覧取得の準備をします
$arrParameters = [
'screen_name'=>"hogehoge", //ユーザ名
'count'=>5000, //取得数
'stringify_ids'=>true, //ID を文字列で取得
];
//(1) フォロワー一覧を取得します
$objFollowers = $objTwitter->get("followers/ids", $arrParameters);
//(1) 配列変数に放り込みます
$arrFollowerIDs = array("");
foreach($objFollowers->ids as $strFollowerIDs){
array_push($arrFollowerIDs, $strFollowerIDs);
}
//(2) フォロー中一覧取得の準備をします
$arrParameters = [
'screen_name'=>"hogehoge", //ユーザ名
'count'=>5000, //取得数
'stringify_ids'=>true, //ID を文字列で取得
];
//(2) フォロー中一覧を取得します
$objFollows = $objTwitter->get("friends/ids", $arrParameters);
//(3) フォロー中を一人ずつ判定します
$strHTML = "";
foreach($objFollows->ids as $strFollowIDs){
if (in_array($strFollowIDs, $arrFollowerIDs)){//フォロワーの中に含まれている
//(4) 相互フォローなのでホッとします
} else {
//(5) 片思いなので画面出力してやります!
$strHTML = "<a href='https://twitter.com/i/user/" . $strFollowIDs . "' target='_blank'>" . $strFollowIDs . "</a><br>" . $strHTML;
}
}
//結果を画面出力します!
echo $strHTML;
?>
27行目でフォロー中一覧を取得する際、そのまま処理すると(Twitter アプリと同様に)新しい順序で取得されてしまうので、36行目でデータを保存するところで 画面出力順をひっくり返してます。
35行目ですが、単純に “echo $strFollowIDs;” と書いても良いのですが、Twitter の IDs からプロフィールページを表示するには https://twitter.com/i/user/{IDs}/ を指定すればリダイレクトするので、作業しやすいように、そのように書いてみました。
Web アプリ 「Twitter 片思い アプリ」
Web アプリにしてみましたので、SNS マーケティングなどにご活用頂けると幸いです。
「Twitter 片思い アプリ」
https://soln-sns.net/apps/twitter-kataomoi/
フォロワーを増やすには?
一体何のためにこんな作業が必要なのか?とお思いの方もいらっしゃるかもしれませんが、これはマーケティング心理学の要素で…(そもそもフォロワーを増やしたい!と思っていない方には 全く意味のない作業になるのですが…)
Twitter をよく使われている方なら感じたことがあると思うのですが、例えば、以下の2人の方がいたとしたら、どちらの方をフォローしますか?
Aさん:10,280 フォロー中 5,120 フォロワー Bさん : 128 フォロー中 5,120 フォロワー
…
Aさんは、なにか誰彼かまわずフォーローしていってる印象を受けませんか?それに対してBさんは…なにか鋭いことばかりをツイートしてる人なんじゃないか!?と思ったりしませんか?
そういう意味では「Twitter 片思いアプリ」で時々メンテナンスを行っていくだけでも 少しずつフォロワーの増え方が変わってくるのではないかと思います。
※なぜフォロワーを増やした方が良いのか?は…また別記事で書くことにします。
今後のバージョンアップ
今回はなかなか時間がなくて、Web アプリの完成度がイマイチですが、、今後もバージョンアップを続けていこうと思いますので、時々見て頂けると嬉しいです。
参考サイト
Twitter 片思い アプリ
https://soln-sns.net/apps/twitter-kataomoi/
別記事「TwitterOAuth を使ってフォロワー一覧を取得する PHP サンプルプログラム」
https://blog.soln-sns.net/php-sample-how-to-get-twitter-followers-using-twitteroauth/