instagram について
Instagram のプロフィールやメディアの読み取り、分析データのローカル保存、エクスポートに使うコミュニティ製 Python ツールキットです。明示的に許可されたアカウント操作向けで、公開やスケジュール実行は無効です。
主な機能
- 01Instagram プロフィールとメディアの読み取り
- 02SQLite でのローカル分析と保存
- 03CSV 形式でのデータ出力
- 04公開プレビューの表示
- 05メディアインサイト指標の取得
活用シーン
- 01許可済みアカウントのプロフィールとメディア確認
- 02投稿の分析と CSV 出力
- 03メディアインサイトデータの確認
- 04公開前の下書きプレビュー確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill instagramインストール後、Claude Code で/instagramを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/account_types.mdpublishing_guide.mdrate_limits.mdsetup_walkthrough.mdpermissions.mdgraph_api.mdschema.mdscripts/analyze.pyaccount_setup.pycomments.pyexport.pyapi_client.pygovernance.pyauth.pydb.pycsv_utils.pyhashtags.pyconfig.pyinsights.pymessages.pymedia.pyprofile.pyrequirements.txtrun_all.pyserve_api.pytemplates.pypublish.pyschedule.pystatic/dashboard.html詳細
Instagram Graph API ツールキット
概要
プロフィールやメディアの読み取り、ローカル SQLite 分析、エクスポート、公開プレビューに対応するコミュニティ製 Python ツールキットです。同梱の連携機能は Facebook Login、graph.facebook.com、リンク済みの Facebook ページを使用しており、別個の Instagram Login フローには対応していません。API v21.0、指標、権限、クォータ、メディア仕様は過去の例です。使用する前に、選択したアカウントと API バージョンに関する最新の Meta ドキュメントを確認してください。
使用する場面
明示的に依頼された Instagram アカウントのワークフローや、これらのスクリプトの調査に使用してください。対応するタスクには、利用可能なサービスコネクターを優先してください。Instagram への言及だけでは、アカウントの変更、OAuth、アップロード、公開、メッセージの送信は許可されません。
ワークフロー
- 該当するスクリプトとリファレンスを確認します。隔離された環境を使用し、
scripts/requirements.txtをインストールする前に依存関係を確認してください。以下のコマンドは、このスキルのディレクトリから実行します。 - 許可されたアカウント接続では、自分の Meta アプリと正確なリダイレクト URI を設定してから、
python3 scripts/auth.py --setupを実行します。ブラウザーが開き、記載された OAuth スコープが要求されます。ローカルデータベースには、トークンとアプリシークレットが平文で保存され、ローカル権限によって保護されます。保存先はスキルのソース外です(AAS_INSTAGRAM_DATA_DIRまたはconfig.pyに記載されたユーザーごとのアプリケーションデータディレクトリ)。このディレクトリ、そのバックアップ、エクスポートをコミットしたり共有したりしないでください。 python3 scripts/auth.py --statusの結果を確認してから、必要な読み取りだけをリクエストします。読み取りコマンドは、トークンの更新を試み、取得したデータを保存する場合があります。トークンの更新は失敗したり、再認証が必要になったりすることがあり、無人で確実に実行できるわけではありません。--revokeが無効化するのはローカルアカウントだけです。Meta でプロバイダーへのアクセスを別途取り消してください。- 出力と部分的な失敗を確認します。同期で読み取るのは各リソースの 1 ページであり、アカウント全体ではありません。コメントや会話を収集する前に、現在の権限、アカウントの所有権、保持ポリシーを確認してください。
例
python3 scripts/profile.py --view
python3 scripts/media.py --list --limit 10
python3 scripts/run_all.py --dry-run
python3 scripts/insights.py --media --media-id MEDIA_ID --metrics reach
python3 scripts/analyze.py --top-posts --limit 10
python3 scripts/export.py --type posts --format csv --output /absolute/private/export-directory
python3 scripts/serve_api.py --host 127.0.0.1
ダッシュボードには認証がなく、ASGI ツール経由で起動する場合も含め、ループバック接続のみで使用する必要があります。プロキシ経由で接続したり、ネットワークに公開したりしないでください。一部の統計では、保存されているすべてのアカウントが読み取られます。Chart.js はサードパーティの CDN から読み込まれます。エクスポートには個人データが含まれる場合があるため、非公開にしてください。
公開とメッセージ送信に関する制限
publish.py はプレビュー/確認リクエストを返します。既存の CLI 確認 ID は保存されず、不変のペイロードやアカウントにもひも付けられていないため、確認後の実行は無効になっています。動画/カルーセルの実行と、コメント/DM の確認処理は未完成です。永続的な承認、ワーカーによるアトミックな処理の確保、結果が不明な場合の照合が実装されるまで、schedule.py --process は無効になっています。schedule.py は --at を受け付けず、予約投稿も作成しません。これらのガードを迂回したり、確認カテゴリを変更してプレビューを実行したりしないでください。
下書きでは、ローカルメディアをアップロードしなくなりました。公開 Imgur アップロードには、自分の IMGUR_CLIENT_ID、そのファイルを Imgur と共有する明示的な許可、AAS_INSTAGRAM_ALLOW_IMGUR_UPLOAD=1 が必要です。このオプションは、レビュー済みの連携機能でのみ使用するものであり、無効化された公開機能を迂回するためのものではありません。ローカル動画は、画像のアップロード/変換経路ではサポートされていません。連携機能を実装する場合は、すでに許可された公開 HTTPS メディア URL を優先してください。公開 URL によって、Instagram で公開する前にコンテンツが開示される場合があります。
Graph への書き込みは 1 回だけ試行されます。タイムアウトしても、アクションが成功している場合があります。再試行する前に Meta 側で照合してください。ローカルのレートカウンターは推定値であり、プロバイダーによる制限ではありません。失敗した呼び出し、他のクライアント、同時実行ワーカーを完全には考慮せず、DM と一意のハッシュタグに関する制限も未完成です。プロバイダーからの現在のエラーやヘッダーに従ってください。
参考資料
references/graph_api.md:過去のエンドポイントとリクエスト形式references/permissions.md:Facebook Login のスコープ例references/account_types.md:アカウント設定に関する考慮事項references/publishing_guide.md:過去のメディア例と制限事項references/rate_limits.md:ローカルでの推定値とプロバイダーの制限references/setup_walkthrough.md:過去の Meta 設定 UIreferences/schema.md:ローカルデータスキーマ。正とする情報はscripts/db.pyです
制限事項
実際のアカウントや API との互換性、アプリの審査については保証されていません。インサイトのスナップショットは、加算可能なイベントではなく、繰り返し取得される累計測定値です。過去の指標は廃止されている場合があり、期間や指標がサポートされているかを確認する必要があります。最適な投稿時間の結果は、UTC で観測されたサンプルを示すものであり、因果関係に基づく最適な投稿時間ではありません。Webhook ハンドラーは 501 を返し、イベントを受け付けません。永続的なスケジューラー、マルチテナント認可、暗号化されたシークレット保管庫、本番環境に対応した確認サービスはありません。