1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🌟 Raspberry PiでSNSフォロワーカウンターシステムを作る【第5回:Qiita APIと.env連携でデータ取得編】

Last updated at Posted at 2025-08-05

📝 はじめに

こんにちは、piyovateです!

このシリーズでは、Raspberry PiとPythonを使って「SNSフォロワー数をリアルタイムで見える化する壁掛けディスプレイ」の構築を目指しています。

前回の【第4回】では、PyQt5 を使ってSNSフォロワー数を表示する全画面UIの構築を行い、仮の値を使って「Instagram」「Qiita」「X」「Facebook」それぞれのカウンターを表示しました。

今回は【第5回】として、Qiita APIを使って実際の合計いいね数を取得し、画面に反映するところまでを実装していきます。

今回は予定を変更してAPI連携をQiitaに限定し、API連携とGitによる構成管理の基本にフォーカスします。
他SNS(X・Instagram・Facebook)は今後対応予定です。

GitHubにもプロジェクトを公開しているので、セットアップやコード全体は以下を参照ください👇
🔗 GitHub - SystermDevelopment/follower-counter


🎯 今回の目的

  • Qiita API を使って特定ユーザーの合計いいね数を取得
  • .env によりトークンを安全に管理
  • PyQt5 UI へリアルタイムに表示反映
  • Gitブランチ運用を通じた小規模チーム開発の基盤構築

🖼️ アイコン画像について

  • asset/ 配下に x.png, qiita.png, facebook.png, instagram.png を配置してください
  • SNS公式ロゴ画像は商標・利用規約の制約があるため、GitHubなどの公開リポジトリでは配布できません。
  • そのため、asset/ ディレクトリは .gitignore により Git 管理対象外としています
  • 必要に応じてご自身でライセンスを確認のうえ画像を調達・配置してください

📁 プロジェクト構成(概要)

follower_counter/
├── main.py             # アプリ起動エントリーポイント
├── ui.py               # PyQt5による画面表示
├── config.py           # 環境変数の読み込み
├── API/QiitaAPI.py     # Qiita APIによる数値取得処理
├── asset/              # SNSアイコン画像(公開NG)
└── .env                # Qiitaトークン(公開NG)

🔐 .envのサンプル

QIITA_TOKEN=your_qiita_token
ORGANIZATION_NAME=example_user

※ トークンは Qiitaの個人設定ページ から取得できます。
Git管理しないよう、.gitignoreへの追加もお忘れなく。


⚙️ 環境セットアップ(仮想環境あり)

1. PyQt5のインストール(apt)

sudo apt install python3-pyqt5

2. 仮想環境の作成と有効化(システムパッケージ共有付き)

python3 -m venv venv --system-site-packages
source venv/bin/activate

3. Pythonパッケージのインストール

pip install -r requirements.txt

💡 --system-site-packages を付けることで、仮想環境内からでも apt 由来の PyQt5 を使用可能になります。


▶️ 実行コマンド

python main.py

実行すると、画面には以下が表示されます:

  • Qiita:API経由で取得した合計いいね数(リアルタイム)
  • その他(X・Instagram・Facebook):現時点では定数表示

🌿 Gitのブランチ運用方針(簡略)

開発中は以下のようなブランチ構成で進行しています:

ブランチ 用途
main 最終成果物の管理
staging 検証用の統一ブランチ
develop 開発作業の統合ブランチ
feature/xxx 機能ごとの作業ブランチ
fix/issue-番号 Issue対応用ブランチ

Gitの詳細な運用ルールや履歴はGitHubに記載しています。
Issueはあまり使っていないので、勉強の意味も含めて積極的に利用していきます!


🔜 次回の予定

  • X / Instagram / Facebook API連携の実装
  • フォロワー数の非同期取得・自動更新
  • 音声通知や更新履歴表示の追加も検討中!

🎉 おわりに

Qiita APIを通じて、自分の技術アウトプットが**“見える”**ようになるのは、なかなか楽しい体験でした。
今回はQiitaに絞って連携しましたが、APIの使い方や環境変数の管理、Gitでの構成管理など、実践的な観点で多くの学びがありました。

次回は、いよいよ他のSNS APIとの連携にもチャレンジする予定です(…予定です、たぶん)。


🔗 シリーズリンク

📚 全記事まとめはこちら → シリーズまとめリンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?