ساخت ابزار زمان‌بندی پست و استوری با API اینستاگرام

ساخت ابزار زمان‌بندی پست و استوری با API اینستاگرام

ساخت ابزار زمان‌بندی پست و استوری با API اینستاگرام

مقدمه

انتشار منظم محتوا در اینستاگرام یکی از مهم‌ترین عوامل موفقیت در جذب فالوور و افزایش تعامل است. اما مشکل اینجاست که همیشه نمی‌توانیم سر ساعت مناسب، آنلاین باشیم و پست‌ها را دستی منتشر کنیم. راه‌حل چیست؟ ساخت یک ابزار زمان‌بندی (Scheduler) که پست‌ها و استوری‌های اینستاگرام را به‌صورت خودکار منتشر کند! در این مقاله یاد می‌گیریم چطور با استفاده از API اینستاگرام، یک ابزار زمان‌بندی حرفه‌ای بسازیم که پست‌ها و استوری‌ها را در زمان دلخواه منتشر کند.


قدم ۱: دریافت دسترسی به API اینستاگرام

برای استفاده از API اینستاگرام و زمان‌بندی پست‌ها، باید یک اپلیکیشن در Facebook Developer ایجاد کنیم.

۱.۱ ایجاد اپلیکیشن در Facebook Developer

  1. به Facebook for Developers بروید.
  2. یک اپلیکیشن جدید بسازید.
  3. Instagram Graph API را فعال کنید.
  4. در قسمت Permissions، مجوزهای زیر را اضافه کنید:
    • instagram_basic
    • instagram_content_publish
    • pages_show_list
    • pages_read_engagement

۱.۲ دریافت Access Token

برای ارسال درخواست به API، نیاز به یک Access Token معتبر دارید. این توکن را می‌توان از Graph API Explorer دریافت کرد. دقت کنید که این توکن حتماً دائمی (Long-lived Token) باشد تا بعد از چند ساعت منقضی نشود.


قدم ۲: آماده‌سازی پست برای انتشار خودکار

۲.۱ تنظیم اطلاعات پست برای انتشار

قبل از ارسال درخواست، باید اطلاعات پست یا استوری را مشخص کنیم:

  • عکس یا ویدیو
  • کپشن
  • تگ‌ها و هشتگ‌ها (اختیاری)
  • زمان انتشار (Scheduled Time)

۲.۲ آپلود عکس یا ویدیو با Instagram API

برای انتشار یک پست، ابتدا باید محتوا را روی سرور اینستاگرام آپلود کنیم و سپس آن را منتشر کنیم.

درخواست آپلود رسانه (Media Upload Request)

POST https://graph.facebook.com/v17.0/{user-id}/media
Content-Type: application/json
Authorization: Bearer {access-token}

{
  "image_url": "https://yourwebsite.com/image.jpg",
  "caption": "این یک پست زمان‌بندی شده است! 🚀",
  "scheduled_publish_time": 1714550400, 
  "media_type": "IMAGE"
}
  • image_url : آدرس عکس (یا ویدیو) که می‌خواهید منتشر کنید.
  • caption : کپشن پست.
  • scheduled_publish_time : زمان انتشار پست به‌صورت تایم‌استمپ یونیکس (Unix Timestamp).

۲.۳ تأیید آپلود و انتشار پست

بعد از ارسال درخواست بالا، یک id دریافت می‌کنیم که نشان‌دهنده فایل آپلود شده است. حالا باید این id را به API ارسال کنیم تا پست منتشر شود.

POST https://graph.facebook.com/v17.0/{user-id}/media_publish
Authorization: Bearer {access-token}

{
  "creation_id": "{media-id}"
}

قدم ۳: زمان‌بندی استوری اینستاگرام

انتشار استوری کمی متفاوت است و نیاز به container دارد.

۳.۱ ارسال درخواست آپلود استوری

POST https://graph.facebook.com/v17.0/{user-id}/media
Authorization: Bearer {access-token}

{
  "image_url": "https://yourwebsite.com/story.jpg",
  "media_type": "STORY"
}

۳.۲ تأیید و انتشار استوری

POST https://graph.facebook.com/v17.0/{user-id}/media_publish
Authorization: Bearer {access-token}

{
  "creation_id": "{story-id}"
}

قدم ۴: خودکارسازی فرآیند با Python

حالا که اصول کار را یاد گرفتیم، بیایید یک اسکریپت پایتون بسازیم که پست‌ها را به‌صورت خودکار زمان‌بندی کند.

import requests
import time

ACCESS_TOKEN = "your-access-token"
USER_ID = "your-user-id"
IMAGE_URL = "https://yourwebsite.com/image.jpg"
CAPTION = "این یک پست زمان‌بندی شده است!"
SCHEDULED_TIME = int(time.time()) + 3600  # یک ساعت بعد

# ارسال درخواست برای آپلود عکس
upload_url = f"https://graph.facebook.com/v17.0/{USER_ID}/media"
payload = {
    "image_url": IMAGE_URL,
    "caption": CAPTION,
    "scheduled_publish_time": SCHEDULED_TIME,
    "media_type": "IMAGE",
    "access_token": ACCESS_TOKEN
}

response = requests.post(upload_url, data=payload)
media_id = response.json().get("id")

# انتشار پست
publish_url = f"https://graph.facebook.com/v17.0/{USER_ID}/media_publish"
publish_payload = {"creation_id": media_id, "access_token": ACCESS_TOKEN}

publish_response = requests.post(publish_url, data=publish_payload)
print(publish_response.json())

این اسکریپت عکس را آپلود می‌کند و آن را برای انتشار در یک ساعت آینده زمان‌بندی می‌کند.


قدم ۵: اضافه کردن رابط کاربری (اختیاری)

اگر بخواهیم یک ابزار واقعی بسازیم، می‌توانیم یک رابط کاربری ساده با Flask یا Django در پایتون طراحی کنیم که کاربر بتواند:

  • عکس یا ویدیو آپلود کند
  • کپشن بنویسد
  • زمان انتشار را مشخص کند
  • وضعیت پست‌های زمان‌بندی شده را ببیند

نکات امنیتی مهم در استفاده از API اینستاگرام

  • دسترسی‌ها را محدود کنید و فقط از توکن‌های ایمن و موقت استفاده کنید.
  • داده‌ها را در دیتابیس امن ذخیره کنید و اطلاعات حساس را رمزنگاری کنید.
  • از Webhook اینستاگرام برای دریافت اعلان‌های مربوط به انتشار پست‌ها استفاده کنید.

 

 

همچنین بخوانید: تشخیص بهینه ترین زمان انتشار پست با API اینستاگرام

 

 


نتیجه‌گیری

ساخت ابزار زمان‌بندی پست و استوری یکی از بهترین روش‌ها برای مدیریت حرفه‌ای اینستاگرام است. با استفاده از API اینستاگرام می‌توان پست‌ها را به‌صورت خودکار آپلود و منتشر کرد و از این طریق، بازدهی انتشار محتوا را افزایش داد. این روش به برندها، اینفلوئنسرها و مدیران شبکه‌های اجتماعی کمک می‌کند تا پست‌های خود را در زمان‌های بهینه منتشر کنند و تعامل بیشتری داشته باشند.


سوالات متداول

۱. آیا API اینستاگرام امکان زمان‌بندی ویدیوهای IGTV و Reels را هم می‌دهد؟

بله، اما برای IGTV و Reels باید media_type را برابر VIDEO قرار دهید و فرآیند آپلود کمی متفاوت است.

۲. آیا می‌توان چندین پست را هم‌زمان زمان‌بندی کرد؟

بله، API اینستاگرام اجازه می‌دهد چندین پست را با زمان‌های مختلف در صف انتشار قرار دهید.

۳. آیا API اینستاگرام رایگان است؟

بله، اما محدودیت‌هایی در تعداد درخواست‌ها و نرخ استفاده دارد.

۴. چگونه می‌توانم لیست پست‌های زمان‌بندی‌شده را ببینم؟

می‌توانید با ارسال یک درخواست GET به /insights اطلاعات مربوط به پست‌های زمان‌بندی شده را دریافت کنید.