ハンドメイド副業を効率化!Instagramの自動投稿アプリを自作してみた

インスタグラムAPIを使って自動投稿をする chat-GPT
Screenshot

ハンドメイド副業をしている方にとって、SNSでの集客は非常に大切です。しかし、作品制作や販売作業に追われていると、Instagramの投稿が疎かになってしまうこともあります。

私自身もそのような悩みを抱えており、少しでも投稿にかかる時間を削減できないかと考えました。そこで今回は、Instagramの投稿を自動化するアプリを自作することに挑戦しました。

この記事では、ハンドメイド副業の時間を有効活用するためにInstagram自動投稿アプリを作った過程と、その体験談について紹介します。

スポンサーリンク

制作の手段

インスタグラムAPIを使って自動投稿をする

  • 今回の制作にあたり、ChatGPTのサポートを受けながらコードを書き、問題が起これば自分で対応するというスタンスで進めました。Instagram APIを活用して投稿を自動化することが目的です。

    Instagram APIの利用は私にとって初めての試みで、難しさもありました。そこでAPIの詳しい詳細についてはここでは割愛しますが、非常に参考になったリンクを以下に示します。同じように挑戦してみたい方はぜひご参照ください。

Instagramとの連携方法 – 2024年度版

基本的には上記のリンクを基にAPIトークンの取得と実装を行いましたが、次に私がつまずいたポイントや特に苦労した点についてシェアします。

苦労したポイントやつまずきポイント

アクセストークンの取得

まず一番大変だったのがアクセストークンの取得です。参考にした記事には手順が親切に書かれていましたが、工程が多く非常に苦戦しました。

特に、トークン発行時のアクセス許可に関しては、記事では11項目を追加すると書かれていましたが、自分の使い方に合わせて全ての権限を追加する必要がありました。

インスタグラムAPIを使って自動投稿をする

この部分は慎重に設定する必要がありました。

プログラムの変更: PythonからPHPへ

Xサーバーを使って簡単にデプロイするために、プログラムの言語をPythonからPHPに変更しました。AIのおかげで、言語の置き換えはスムーズに行えました。

インスタグラムAPIを使って自動投稿をする

Screenshot

ローカル環境ではデータ取得も簡単に確認できたため、そのまま自動投稿アプリの制作に入ることができました。

自動投稿アプリの要件設定

どの程度自動化するか悩みましたが、最終的に以下の要件を設定しました。

  • 作品名・説明文・画像URLをデータベースに登録する
  • 指定した日付と時間に自動投稿できるようにする
  • 手動でも好きなタイミングで投稿できるようにする
  • ハッシュタグを追加して投稿する

画像の扱いに関しては、自分のECサイトに投稿している画像URLを活用することにしました。これにより、データ量を減らしつつ手軽に管理できるようにしています。

自動投稿は補助的な役割と考え、重要なお知らせは自分で投稿するようにしています。

仕上がりの姿と自動投稿でつまずいたポイント

以下の画像がスタイルシートをかけていませんが、完成(動作する)の姿です。

  1. 投稿するデータの登録フォーム
  2. 自分で指定して投稿したいときのための投稿フォーム
  3. 自動投稿はXサーバーのCRON設定で自動的に行う
  4. データベースに登録されている内容を表示させる

というシンプルな状態です。

完成した自動投稿アプリとつまづきポイント

以下が完成した自動投稿アプリの機能です。

  • 投稿するデータの登録フォーム
  • 手動投稿用のフォーム
  • CRONを使った自動投稿機能
  • データベース内の内容を表示する

インスタグラムAPIを使って自動投稿をする

予約投稿の実装には特に苦労しました。Instagramへの投稿は早い段階で成功したものの、自動投稿を実現するための手段には時間がかかりました。最終的にはXサーバーのCRON設定を使用して解決しました。

その他のつまづきポイント

  • .envファイルの読み込みエラー: APIキーやデータベースのパスワードを.envファイルに保存し、セキュリティを高める必要がありましたが、初めてのことで理解に時間がかかりました。具体的には、代入される情報に' '(シングルクォート)をつけていなかったことが原因で読み込みが失敗していました。
  • DB接続失敗: php_network_getaddresses: getaddrinfo failed: Name or service not knownというエラーが発生しました。これは、データベースホスト名の設定ミスによるものでした。

データベースに関するよくある質問(Xサーバー)

  • Cron設定の失敗: Xサーバーで予約投稿のために使うCron設定ですが、コマンドの書き方が間違っていたためになん度もエラーで投稿ができていませんでした。正確に書くには以下のようにphpの後にバージョンを記載し、 さらに! スペースをひとつ開けて書かないとちゃんと動いてくれませんでした。これに気付くのにとても時間がかかりました。

Cron設定マニュアル

投稿(例)abc.phpをPHP 7.2 で実行する場合
/usr/bin/php7.2 /home/サーバーID/独自ドメイン名/public_html/abc.php

最後に

今回の自動投稿アプリの制作は、多くの学びを得ることができた反面、たくさんの課題にも直面しました。特にInstagram APIの利用やサーバーの設定、Cronジョブの理解には時間がかかりましたが、この取り組みを通じてハンドメイド副業の時間をより有効に活用するための一歩を踏み出せたと感じています。

自動投稿が継続的に機能するようになったことで、今後はハンドメイド作品の制作により集中したいと思っています。この記事がSNSの自動化に挑戦したい方、またはPHPを使ったアプリ開発に興味がある方の参考になれば幸いです。

そしてAIの解答を過信しすぎないこと、を改めて身に染みました。

【クリエイタープロフィール pekopoko】

irokazari+

プロフィールページはこちら

日常を・心を豊かにする作品を届けたいと願うハンドメイド作家のpekopokoです。

レザークラフトやマクラメ編みを取り入れ、リラクゼーション効果のある作品を一つひとつ心を込めて手作りしています。

ハンドメイド歴10年、販売士二級の現役ショップ店員兼副業作家です

現在はメタバースにハンドメイドショップを作りたいと思い、コツコツと勉強中です。

作品はオンラインショップでご覧いただけます。

BASEでオリジナルサイトを開設しました!

物作りで日常を明るく♪をコンセプトに活動中のハンドメイド作家です。

マクラメ・レザー小物などを中心に出品中です。

 

コメント

タイトルとURLをコピーしました