GitHubAPIで片思いフォロー一括解除をしたい
Twitterでは、APIを使って片思いフォローを調べたり、それを一括解除したりということが出来るサービスが多くあると思いますが、GitHubでは見つからなかったので、作成してみました。
片思いフォローとは?
自身がフォローしているが、相手からフォローをもらっていない状態。
Tokenの取得
GitHubAPIの利用にはtoken取得が必要になるので、以下のリンクよりTokenを作成します。
https://github.com/settings/tokens
「Generate new token」を押します。
「user」権限だけ与えたいため、該当のscopeにチェックを入れ、Noteもわかりやすく同様の名前をつけます。
生成が完了したら、tokenをコピーしておきましょう。
GitHubAPIを使ってみる
以下のリポジトリを作成しました。
https://github.com/k-takeuchi220/GitHubApi
片思いフォローか否かは、フォローとフォロワーから取得しております。
ユーザAがユーザBをフォローしているか確認するようなAPIは存在したのですが、
現在は、使用できない状態のようなので、上記の実装としております。
https://docs.github.com/ja/rest/reference/users#check-if-a-user-follows-another-user
そのまま使用した場合、フォローもしくはフォロワーが1000人を超えると、期待した動作にならないことがあります。
1000人以上必要になる場合は、$maxPage引数に必要なページ数を指定してください。
例
require './GitHubApi.php';
$token = 'your token';
$userId = 'your github id';
$gitHubApi = new GitHubApi($token, $userId);
// 片思いフォローの一括解除
$followings = $gitHubApi->getUnrequitedFollowings();
foreach ($followings as $following) {
$gitHubApi->unfollow($following);
}
// 片思われフォローの一括フォロー
$followers = $gitHubApi->getUnrequitedFollowers();
foreach ($followers as $follower) {
$gitHubApi->follow($follower);
}
GitHubAPIに使用するTokenをコミットしてしまった
誤って、tokenをコミットしてしまった...。
そんな場合は、自動でTokenが削除されるようです。(何度かやらかしました)