TwitterOAuth / Twitter REST API

Twitter の「片思い」を古い順番に表示するアプリの作り方(PHP + TwitterOAuth サンプル)

Twitter の「片思い」を古い順番に表示するアプリの作り方(PHP + TwitterOAuth サンプルプログラム)

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” に変更するだけです。

※サンプルプログラムは割愛させて頂きます。

“片思い” を取得するには?

「片思い」を取得するには…以下の流れに沿って処理します(プログラマーではない方のために、極力簡単に書いてみます)。

  1. 自身のフォロワーを一括取得しておきます。
  2. 自身のフォロー中を一覧表示させます。
  3. (2) のフォロー中を一人ずつ 以下の判定をしていきます…
  4. 仮に ユーザー名が @hogehoge とすると… @hogehoge が (1) の一覧表示させているフォロワーの中にいれば…片思いではありません(相互フォローなので、今後とも仲良くしたいですね)。
  5. @hogehoge が (1) で一覧表示させているフォロワーの中にいなければ…こいつは「片思い」なので ブロックしてやります!(そもそもフォローされてないので、無意味な抵抗です、、)
  6. 次のユーザー @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人の方がいたとしたら、どちらの方をフォローしますか?

さん:10,280 フォロー中 5,120 フォロワー さん : 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/

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です