セルフホスト型のSNS投稿マルチ機能アプリが欲しかったので、
AIと相談しながら作成しました。
ということで出来上がったアプリはこちらになります。
(X、Bluesky、Threads、Mastdon、Misskey)に対応しています。
他にもSNS対応してくれ、と思う方はぜひコードを見ながら、追加していただけると幸いです(人任せ
テキストのみ投稿する場合(軽量版)
こちらをご活用ください。
- 複数SNSへの同時投稿: 5つのプラットフォーム(Bluesky、X/Twitter、Threads、Misskey、Mastodon)対応
- 文字数制限チェック: 各SNSの文字数制限に合わせたリアルタイムチェック
- 一括/個別投稿モード: 全プラットフォームに同じ内容を投稿するか、プラットフォームごとに異なる内容を投稿するかを選択可能
- プラットフォーム選択UI: チェックボックスでSNSを個別に選択可能
- Docker対応: コンテナ化されており、環境に依存せず簡単に起動可能
- DarkMode対応: 使いやすいUIに設計しています。
画像とか、予約投稿機能も欲しい人向け(若干、動作が重いです。)
上記に加え、
- 画像投稿: 最大4つまでのメディアファイルをアップロードして投稿可能(一部のSNSでは制限されるため投稿ができないため注意が必要です。)
- 予約投稿機能: 指定した日時に自動投稿するスケジュール機能
APIキー/アクセストークン取得方法
各プラットフォームにてプログラムからのアクセスに必要な認証情報(APIキー、アクセストークン、App Passwordなど)の取得方法について説明します。
X (旧Twitter) APIキー取得方法
XのAPIを利用するには、X Developer Platformへの登録および開発者アカウントの申請が必要です。
-
X Developer Platformへのアクセス:
Webブラウザで下記にアクセスしてください。
-
開発者アカウントの申請:
サイトの案内に従い、開発者アカウントの申請を行います。
利用目的(個人利用、ビジネス利用、研究目的など)や、開発するアプリケーションの詳細(どのような機能を持つか、APIをどのように使用するか)について、具体的に記述する必要があります。主に英語での記述なので、DEEPLなどの翻訳ツールを使って記述するとよいでしょう。 -
申請の承認:
X側での審査が行われ、承認されると開発者アカウントが有効になります。審査には時間がかかる場合が、あります。
プロジェクトおよびAppの作成:
開発者ポータルにログイン後、新しいプロジェクトを作成します。
作成したプロジェクト内で、APIを利用するためのAppを作成します。App名や設定を行います。 -
APIキーとトークンの取得:
Appの作成が完了すると、以下の情報が発行されます。
API Key (Consumer Key)
API Secret (Consumer Secret)
Bearer Token
OAuth 1.0aでの認証を行う場合は、さらにAccess TokenおよびAccess Token Secretを生成する必要があります。Appの設定画面から生成してください。
これらのキーとトークンは非常に重要です。外部に漏洩しないよう厳重に管理してください。
Bluesky (AT Protocol) App Password取得方法
Blueskyでは、APIキーの代わりにApp Passwordを発行して利用することが一般的です。
-
Blueskyへのログイン:
Webブラウザまたは公式クライアントから、ご自身のBlueskyアカウントにログインしてください。
設定画面への移動:
ログイン後、アカウントの設定画面に移動します。
2.App Passwordsの選択:
設定メニューの中から「App Passwords」(アプリパスワード)またはそれに類する項目を選択してください。
3.新しいApp Passwordの生成:
「Generate New App Password」(新しいアプリパスワードを生成)ボタンなどをクリックします。
どのアプリケーションで利用するか分かりやすいように、パスワードに名前(ラベル)を付けることを推奨します。
App Passwordの取得:
生成されたApp Passwordと、ご自身のBluesky Identifier(did:plc:...から始まるDID、または@yourhandle.bsky.socialのようなハンドル名)を記録してください。
App Passwordは一度しか表示されないため、必ず控えてください。
Mastodon アクセストークン取得方法
Mastodonでは、利用しているインスタンスごとにアクセストークンを発行します。
-
利用しているMastodonインスタンスへのログイン:
APIを利用したいMastodonインスタンスのWebサイトに、ご自身のアカウントでログインしてください。 -
設定画面への移動:
ログイン後、設定画面に移動します。
- 「開発」または「Development」の選択:
設定メニューの中に「開発」または「Development」という項目がありますので、それを選択してください。
「アプリケーション」または「Applications」の選択:
「開発」メニューの中に「アプリケーション」または「Applications」という項目がありますので、それを選択してください。
-
新しいアプリケーションの登録:
「New Application」(新しいアプリケーション)ボタンなどをクリックし、APIを利用するアプリケーションを登録します。
アプリケーション名、リダイレクトURI(必要な場合)、そしてAPIで許可する権限(スコープ、例: read, write, followなど)を設定します。必要な最小限の権限を選択することを推奨します。
-
アクセストークンの取得:
アプリケーションの登録が完了すると、クライアントID、クライアントシークレット、そしてアクセストークンが発行されます。
このアクセストークンがAPIアクセスに使用するキーとなります。クライアントシークレットなども含め、これらの情報は外部に漏洩しないよう厳重に管理してください。
Misskey アクセストークン取得方法
Misskeyでも、利用しているインスタンスごとにアクセストークンを発行します。
-
利用しているMisskeyインスタンスへのログイン:
APIを利用したいMisskeyインスタンスのWebサイトに、ご自身のアカウントでログインしてください。 -
設定画面への移動:
ログイン後、設定画面に移動します。 -
「API」の選択:
設定メニューの中に「API」という項目がありますので、それを選択してください。 -
新しいアクセストークンの生成:
「アクセストークンを発行」ボタンなどをクリックし、新しいアクセストークンを生成します。
Mastodonと同様に、APIで許可する権限(スコープ)を細かく設定できますので、必要な権限を選択してください。 -
アクセストークンの取得:
生成されたアクセストークンを記録してください。
このアクセストークンがAPIアクセスに使用するキーとなります。外部に漏洩しないよう厳重に管理してください。
Threadsアクセストークン取得方法
1.アプリ作成ページにて、「アプリ作成」をクリックします
2.「ビジネスポートフォリオをリンクしない。」を選択し、「次へ」をクリックします。
3.次に、ユースケースを選択します。ここでは「Threads APIにアクセス」を選択して次へをクリックします。
4.アプリ名とアプリの連絡先メールアドレスを設定します。「次へ」をクリックします。
5.アプリを作成をクリックします。
6.アプリ作成一覧から、先ほど作成したアプリを選択します。
7.トップの「Threads APIにアクセス」をクリックします。
8.サイドバーの「Settings(設定)」をクリックします。
9.「Threadsテスターを追加または削除」→「メンバーを追加」をクリックします。
10.「Threadsテスター」をクリックし、Threadsユーザーを登録をします。
この時連携させたいThreadsのユーザーを選択してください。
ステータスが承認待ちになれば完了です。
11.Threadsアプリを操作します。設定ボタンをタップし、アカウントから「ウェブサイトのアクセス許可」をタップします。
先ほど作成したアプリの名前の同意するをタップします。**
12.次にブラウザのダッシュボードにもどり、ユースケースをクリックします。
13.カスタマイズをクリックします。
14.画面下部の先ほど追加したThreadsユーザーの「アクセストークンの生成」をクリックします。
15.セキュリティの注意書きを読み、チェックボックスにチェックを入れてください。
アクセストークンがコピーできます。
cloudinary
新規アカウントを作成します。
ダッシュボード画面でpythonを選びます。
下のほうに、VIEWAPIKEYが載っています。