Facebookクリエイタースタジオの予約投稿ができないときに代わりに使えそうなツール / Instagramへの予約投稿を作ってみる

月曜日 , 24, 1月 2022 Leave a comment

指定されたディレクトリ以下にある画像ファイル(JPEG形式/PNG形式)とテキストファイルをInstagramにアップロードするプログラムを作成したので公開します。

最近、Facebookクリエイタースタジオの不具合で予約投稿が行えなくなっているという事象が起きているのを知り、なにか対策ができないかと調べている中でInstagramApiSharpという.NET環境向けのInstagram APIのラッパーを見つけ、これを使った応用プログラムとして作成しました。

プログラムの起動時に設定ファイル(INIファイル)を指定することで複数のInstagramアカウントの管理を行うことができます。また、Windowsのタスクスケジューラなどと組み合わせることで、指定日時になったら自動的に投稿するといった使い方もできます。

予約投稿を行わなければならないがクリエイタースタジオが機能しない、リアルタイムで人力投稿をするのも難しいといった状況で代替手段として使える可能性があります。

※2022/01/24 15:00 Windows タスクスケジューラを使った予約投稿の設定方法を追記

※2022/01/26 03:30 PNGファイルに対応。
指定フォルダにPNGファイルを発見した場合、
自動的にJPEGファイルへ変換しアップロードするように実装。(PNGファイルをそのままアップロードすると失敗するため)

2022-01-24

ビルド

※ソースコードから実行プログラムを作成する場合、以下の手順で行うことができます。



  1. ダウンロードしたソース一式を展開しお使いのVisual Studioに読み込みます。

    ※Visual Studioをお持ちでない場合、こちらからCommunity版が無償で入手可能です。

  2. Visual Studio中のNuGetの復元を行い必要なファイルをダウンロードします。2022-01-24 (1)
  3. ビルドします。

使い方

  1. WindowsのコマンドプロンプトやPowerShellなどから下記のコマンドを投入します。

InstaUploader.exe <プログラムが使用するINIファイル>

  1. 指定されたINIファイルよりInstagramへの接続情報、アップロード対象のフォルダなど設定を読み取り、指定されたフォルダよりJPEG画像とテキストファイルを検索しアップロードします。

    ※JPEGファイルは事前にInstagramの仕様に合わせて画像サイズなどを合わせる必要があります。

    画像サイズがアスペクト比がInstagramの想定しているものと違った場合、エラーが発生するようです。

    ※指定フォルダで複数のテキストファイルが見つかった場合、最初のファイルの内容をアップロードします。

  2. INIファイルにアーカイブディレクトリの指定があった場合、アップロード後にアーカイブディレクトリへファイルを移動します。

    ファイルをアーカイブディレクトリへ移動することで次に重複して投稿されることを防ぐことができます。

Windowsのタスクスケジューラを使った予約投稿

  • タスクスケジューラを起動する

タスクスケジューラはスタートメニューの[Windows 管理ツール]-[タスクスケジューラ]から起動できます。
タスクバーの検索窓に「タスクスケジューラ」と入力すると検索結果にタスクスケジューラが表示されるのでこれをクリックしても起動できます。

スクリーンショット 2022-01-24 135911

  • 「基本タスクの作成」をクリックする

操作から「基本タスクの作成」をクリックします。

2022-01-24 (9)

  • 「基本タスクの作成」をクリックする

タスクの識別するための名前を設定します。2022-01-24 (11)

  • 「基本タスクの作成」をクリックする

タスクを実行する周期を選択します。
今回は毎日決まった時間になるとプログラムを実行するように設定したいので「毎日」をチェックし「次へ」ボタンをクリックします。

2022-01-24 (12)

  • タスクを実行する周期を設定する

タスクを実行する日時を入力します。
今日(2022/01/24)から14:30にプログラムを実行したいので、「開始」に今日の日付と起動したい時刻「14:00:00」、毎日実行するので「間隔」に「1」を設定し「次へ」ボタンをクリックします。

2022-01-24 (13)

  • タスクが行う処理を設定する

タスクが実行されたときにプログラムを実行したいので、「プログラムの開始」をチェックし「次へ」ボタンをクリックします。

2022-01-24 (14)

  • プログラムの場所を設定する

実行するプログラムの場所を指定します。
今回、プログラムファイル(EXEファイル)と設定ファイル(INIファイル)をCドライブの\opt\test\InstaUploader_1.0.0_binフォルダに配置しました。
「プログラム/スクリプト」には「C:\opt\test\InstaUploader_1.0.0_bin\InstaUploader.exe」を設定、「引数の追加(オプション)」には「C:\opt\test\InstaUploader_1.0.0_bin\InstaUploader.ini」を設定します。

ファイルはフルパスで設定してください。
※複数のINIファイルを用意しタスクを同じ数登録することで複数のInstagramアカウントに対し予約投稿を行うことができます。

2022-01-24 (16)

  • 要約を確認し「完了」ボタンをクリックする

    2022-01-24 (17)

  • 指定した時間になるとタスクが実行されることを確認する

無事、指定フォルダに格納した写真とテキストがアップロードされました

2022-01-24 (6)

INIファイルの設定例

投稿するデータはCドライブの\opt\test\InstaUploader_1.0.0_bin\postフォルダに格納、アップロードしたファイルはCドライブの\opt\test\InstaUploader_1.0.0_bin\archiveフォルダに移動するように設定しています。

2022-01-24 (18)

更新履歴

    • 2022/01/24 Ver.1.0 初版公開
      2022/01/26 Ver 1.1 PNG対応

注意事項

このプログラムは多数の利用者がいるInstagramApiSharpを利用して作成しておりますが、Meta社の純正ライブラリではないためInstagramの仕様変更などにより将来的に機能しなくなる可能性があります。
また、利用規約の変更などによりアカウントの停止などの不利益を被る可能性があります。

Please give us your valuable comment

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください