個人ブログのようなものです。とくにジャンルはありません。
記事の概要
作成日:2024-12-05
最終更新日:2024-12-06
記事の文字数:3713
本記事のトピック
SNSツイート一元化対応(Twitter・Misskey・Mastodon・Bluesky)-公開
概要
SNSツイートを一元化するためのツールを作成しています(古い記事ですが、こちらのページで紹介しているものと同じです)。
こちらが見本です(最新の状態とは限りません)。
投稿先の対象にできるSNSは以下です。
  • Twitter(X)
  • Misskey
  • Mastodon
  • Bluesky
すべてWebAPI経由でツイートすることになるため、アクセストークンの発行が原則必要となります。
発行方法は以下で記載しますが、Twitterのみ申請が必要になるため、手間がかかります。メインで使っているであろうTwitterが一番足を引っ張ることになってます。
どのSNSに投稿するのかを指定することは可能なので、Twitterに投稿しないようにすることは可能です
  • Twitter(X)→アクセストークンの発行に申請が必要(承認まで数日かかる)
  • Misskey→サイト内でアクセストークン即時発行可能
  • Mastodon→サイト内でアクセストークン即時発行可能
  • Bluesky→アクセストークン発行不要
問題点・その他
  1. Twitterで引用ツイートがうまくできない?
  2. Blueskyで何のエラーもなくツイートされないことがあった
  3. 複数枚(というより画像の総サイズが大きいと?)画像をアップするとBlueskyでエラーになりやすい
  4. ツイート投稿後に画像クリアされないので、間違えて同じ画像を二回投稿しかねない
  5. MastodonとBlueskyでは引用ツイート機能が使えないため返信ツイートになる
公開はGithub上
ソースコード及びpyinstallerで作成したEXEファイルは以下Githubで公開しています。
ソースコード等(Github)
正直エラー周りの処理が弱かったり、Blueskyで投稿に失敗してもエラーが出なかったり、複数枚画像を添付するとBlueskyでエラーになったり、出来が良いとは言えません。あくまで参考や使えたら便利くらいだと思ってください
アクセストークン発行方法
最初にアクセストークンの設定等が必要です。以下にその設定方法を記載します。
全体共通部分の説明
アクセストークンの設定はEXEファイルと同じ階層にある「Tweet_AuthInfo.ini」内に記載します。
以下のように各SNSごとの設定ができるため、ここに取得したアクセストークン等を設定していきます。
「Misskey」と「Mastodon」はインスタンス名(サーバURL)も指定する必要があります。デフォルトでは最もポピュラーなインスタンス名を設定しています。 暗号化処理とかは入ってないのでこのファイルを他の人に渡さないように注意してください。暗号化してても渡したらダメだと思いますが……
Twitter(X)での発行方法
Twitterはアクセストークン発行に手続きが必要です。 ここは少々面倒+ボクは既に手続き済のため、すみませんがご自身でググって申請してください。
ちなみに申請から承認完了まで数日を要します。
Misskeyでの発行方法
※「Misskey.io」での手順となります。それ以外のインスタンスの場合はURLが異なるため注意が必要です。
まずMisskeyにアクセスします。
「設定」→「API」→「アクセストークンの発行」を選択します。
「名前」は任意で良いです。分かりやすい名前にしましょう。
「ノートを作成・削除する」をONにして、右上のチェックを押します。万が一アクセストークンが漏洩してもなるべく被害を抑えるために、権限は最小にしましょう。
アクセストークンが表示されるため、コピーします。この画面を閉じるともう一度再発行する必要があるので注意しましょう。
ここで取得したアクセストークンを上「全体共通部分の説明」の通り、「Tweet_AuthInfo.ini」内に設定して完了です。
Mastodonでの発行方法
※「mastodon.social」での手順となります。それ以外のインスタンスの場合はURLが異なるため注意が必要です。
まずMastodonにアクセスします。
「…」→「プロフィール編集」を選択します。
「開発」を選択します。
「新規アプリ」を選択します。
「アプリの名前」は任意で良いです。分かりやすい名前にしましょう。
「投稿の送信」をONにして、「送信」を押します。万が一アクセストークンが漏洩してもなるべく被害を抑えるために、権限は最小にしましょう。
アプリが作成されるため対象のアプリを選択します。
ここで表示されるアクセストークン等を上「全体共通部分の説明」の通り、「Tweet_AuthInfo.ini」内に設定して完了です。
Blueskyでの発行方法
特にトークンの発行手続きは要りません。ログインIDとパスワードを上「全体共通部分の説明」の通り、「Tweet_AuthInfo.ini」内に設定して完了です。
実装内容の簡単な説明
これ以降は開発者向けの説明です。
フォルダは以下の構成になっています。
  • Commonフォルダ
  • - CommonFunction.py → 汎用性の高い処理はここ。
  • - Tweet_AuthInfo.ini → 各SNSの認証情報を保持。
  • - Tweet_Management.ini → どのSNSを投稿先にするのかを保持。
  • - Tweet_Management.py → ツイート関連の処理はすべてここに記載。
  • TweetMultiSNSフォルダ
  • - fabicon.ico → ウィンドウなどに表示されるアイコン。名前がファビコンなのはこのサイトで使用してるアイコンをそのまま流用しているため。
  • - Tweet.py → UI部分。
  • - Tweet.spec → pyinstallerでexe化する際に使用。
  • - distフォルダ → 書き出したexeファイルで使用される。
  • - - fabicon.ico → 同上。
  • - - Tweet.exe → exeファイル
  • - - Tweet_Management.ini → 同上。
  • - - Tweet_Management.py → 同上。
「Tweet_Management.py」が根幹部分です。
「CommonFunction.py」は汎用的な処理を、「Tweet.py」はUI部分を担っています。なので、UI部分が気に食わなければその部分を自作し「Tweet_Management.py」を呼び出せば良い、という作りになってます。
各SNSごとに処理は分かれていますが、①認証→②ツイート投稿の順の処理になっているのは同じです。
①認証についてはすべて大体似たり寄ったりなので特筆すべき点はありません。認証しておしまいです。
②ツイート投稿については以下の機能が入っています。
  • ツイート機能 → 当然ある機能。文字数制限とかは入ってない。
  • 返信ツイート機能 → 直前のツイートに返信してツイートできるようにしている(MastodonとBlueskyはできない)。
  • 引用ツイート機能 → 引用できるSNSに関しては直前のツイートを引用してツイートできるようにしている。
  • 画像アップロード機能 → jpgとpng画像を4枚まで添付できる。Blueskyではなぜか複数枚添付するとエラーが起こりやすい……。
  • URLのリンク化機能 → BlueskyのみURLを自動的にリンク化してくれないため、コード内でリンク化処理を入れている。
  • ハッシュタグのリンク化機能 → Blueskyのみハッシュタグを自動的にリンク化してくれないため、コード内でリンク化処理を入れている。
  • ogp情報の表示機能 → Blueskyのみリンク先のogp情報を自動的に表示してくれないため、コード内で表示処理を入れている。
関連ページ
(現在ページ)SNSツイート一元化対応(Twitter・Misskey・Mastodon・Bluesky)-公開
概要 SNSツイートを一元化するためのツールを作成しています(古い記事ですが、こちらのページで紹介…
SNSツイート一元化対応(Twitter・Misskey・Mastodon・Bluesky)-Python
概要 概要 SNSのツイートを一元化する際の備忘録というかPythonコードの共有です。 それぞれ…
Windows-PowerShellを使用してのフォルダ内のファイル名を連番にリネームする
以下PowerShellコードを実行することで、フォルダ内のすべてのファイルのファイル名を「0001…
SCSSとやらでメディアクエリと疑似要素の組み合わせに小一時間苦戦したという話
SCSSとやらでメディアクエリと疑似要素の組み合わせに小一時間苦戦したという話 当然ですが本サイト…
ボタンを押す演出でCSSのtranslateYやtopを使用することの問題
ボタンを押す演出でCSSのtranslateYやtopを使用することの問題…
東京03のyoutubeチャンネルの概要ページの挙動がおかしい
東京03のyoutubeチャンネルの概要ページの挙動がおかしい…
Youtube Data APIでハンドルIDからユーザ情報を取得できない
Youtube Data APIでハンドルIDからユーザ情報を取得できない問題 結論から言うと現在…
ウマ娘まとめサイト(InoReader)
ウマ娘まとめサイト(InoReader)…
ウマ娘まとめサイト(Feedly)
ウマ娘まとめサイト(Feedly)…
Pythonを使ってinoreaderでサイトの更新情報を取得してみた
inoreader(イノリーダー?)が公開しているWeb APIを使用して、Pythonで自動的にサ…
管理人ツイート
最新ページ
(現在ページ)SNSツイート一元化対応(Twitter・Misskey・Mastodon・Bluesky)-公開
概要 SNSツイートを一元化するためのツールを作成しています(古い記事ですが、こちらのページで紹介…
怖い話(AI)まとめ-ムチャ振り編
最初に 怪談系の怖い話を載せています。 特に設定部分は人の手が入ってますが、なるべく生成AI(Ch…
怖い話(AI)まとめ
最初に 怪談系の怖い話を載せています。 特に設定部分は人の手が入ってますが、なるべく生成AI(Ch…
管理人について
「ふじみ むい」と言います ひょんなことから肉体を得たのでその肉体を使って活動をしています。 とい…
VRoidを使う前に絶対に表情はいじった方が良いと思うという話
デフォルトのVRoidの表情はすごいVRoidっぽい VRoidStudioでは「楽しい」「悲しい…
Twitter:【日替わり】一問一答自己紹介テーマ
Twitter:【日替わり】一問一答自己紹介テーマ 日替わりで簡単な質問が表示されます。 毎日つぶ…
アークナイツ-2024大感謝祭・秋商品-理性換算
概要 "2024大感謝祭・秋でお得な商品はどれか"というのを理性に換算して一覧化したものとなります…
本サイトについて
本サイトの概要 個人ブログのようなものです。とくにジャンルはありません。 本サイト内の情報について…
制作物一覧
以下に移動しました こちらに移動しました。 …
SNSツイート一元化対応(Twitter・Misskey・Mastodon・Bluesky)-Python
概要 概要 SNSのツイートを一元化する際の備忘録というかPythonコードの共有です。 それぞれ…
コメントログ
コメント投稿




本サイトのタグ一覧
タグを表示する NovelAIR18VRoidWebサイト作成Webツールアークナイツアークナイツ-ステージ攻略日記アズールレーンアズールレーン-日記ウマ娘ギャラリーゲームデビラビローグホラーポケットタウン気ままな日記情報技術情報技術-WebAPI知的財産権統合戦略白夜極光本サイトについて魔王スライム様がんばる!漫画
広告枠