استفاده از API برای بکاپ گرفتن از پیج اینستاگرام
مقدمه
بکاپ گرفتن از محتوای پیج اینستاگرام، به خصوص برای کسبوکارها و اینفلوئنسرها، اهمیت زیادی دارد. حذف ناگهانی پستها، از دست دادن اطلاعات به دلیل هک شدن حساب کاربری یا حتی بسته شدن ناگهانی اکانت، از مشکلاتی هستند که داشتن یک نسخه پشتیبان (Backup) میتواند از آنها جلوگیری کند. با استفاده از Instagram Graph API، میتوان اطلاعات مربوط به پستها، استوریها، کامنتها و حتی پیامهای دایرکت را دریافت و ذخیره کرد. در این مقاله، روشهایی برای گرفتن بکاپ از پیج اینستاگرام با استفاده از API بررسی میشود.
مزایای بکاپ گرفتن از پیج اینستاگرام
- حفظ امنیت اطلاعات و جلوگیری از از دست رفتن محتوا
- دسترسی آفلاین به محتوا برای استفاده در آینده
- امکان بازیابی دادهها در صورت حذف شدن پستها یا بسته شدن اکانت
- ذخیره اطلاعات کاربران و تعاملات برای تحلیل دادهها
مراحل بکاپ گرفتن از پیج اینستاگرام با API Instagram
۱. ثبت اپلیکیشن در Facebook Developer
برای استفاده از Instagram Graph API، ابتدا باید یک اپلیکیشن در Facebook Developer ثبت کنید.
مراحل ثبت:
- به Facebook Developers بروید.
- یک اپلیکیشن جدید ایجاد کنید.
- در بخش Products، گزینه Instagram Graph API را اضافه کنید.
- مجوزهای زیر را فعال کنید:
- instagram_basic (برای دریافت اطلاعات پستها و استوریها)
- instagram_manage_comments (برای دریافت کامنتها)
- pages_read_engagement (برای مشاهده تعاملات)
۲. دریافت Access Token
برای دسترسی به دادههای پیج اینستاگرام، به یک Access Token نیاز دارید. برای دریافت آن، از دستور زیر استفاده کنید:
curl -X GET "https://graph.facebook.com/v18.0/me/accounts?access_token={your-access-token}"
خروجی این درخواست شامل توکنی خواهد بود که برای دریافت اطلاعات پیج از آن استفاده میشود.
۳. دریافت اطلاعات پستها
برای گرفتن بکاپ از محتوای پیج، ابتدا باید لیست پستها را دریافت کنید.
نمونه درخواست برای دریافت اطلاعات پستها:
curl -X GET "https://graph.facebook.com/v18.0/{user_id}/media?fields=id,caption,media_type,media_url,timestamp&access_token={your-access-token}"
خروجی شامل اطلاعاتی مانند لینک تصویر یا ویدیو، کپشن، نوع مدیا و تاریخ انتشار خواهد بود.
نمونه پاسخ JSON:
{
"data": [
{
"id": "17901234567890123",
"caption": "یک روز عالی در طبیعت!",
"media_type": "IMAGE",
"media_url": "https://instagram.com/photo.jpg",
"timestamp": "2024-02-26T10:00:00+0000"
},
{
"id": "17898765432109876",
"caption": "ویدیوی جدید ما رو ببینید!",
"media_type": "VIDEO",
"media_url": "https://instagram.com/video.mp4",
"timestamp": "2024-02-25T15:30:00+0000"
}
]
}
۴. دانلود و ذخیره فایلها
پس از دریافت لینک تصاویر و ویدیوها، میتوان آنها را دانلود و ذخیره کرد. در Python، میتوان این کار را با کتابخانه requests
انجام داد:
import requests
media_list = [
{"url": "https://instagram.com/photo.jpg", "filename": "photo.jpg"},
{"url": "https://instagram.com/video.mp4", "filename": "video.mp4"}
]
for media in media_list:
response = requests.get(media["url"])
with open(media["filename"], "wb") as file:
file.write(response.content)
print(f"{media['filename']} دانلود شد.")
۵. دریافت کامنتهای پستها
اگر بخواهید کامنتهای پستهای خود را نیز ذخیره کنید، از این درخواست API استفاده کنید:
curl -X GET "https://graph.facebook.com/v18.0/{media_id}/comments?fields=id,text,username,timestamp&access_token={your-access-token}"
این درخواست اطلاعاتی مانند متن کامنت، نام کاربری و زمان ثبت کامنت را برمیگرداند.
نمونه خروجی JSON:
{
"data": [
{
"id": "17890655674098244",
"text": "عالیه!",
"username": "user1",
"timestamp": "2024-02-26T12:45:00+0000"
},
{
"id": "17890777894012345",
"text": "چطور میتونم بخرم؟",
"username": "user2",
"timestamp": "2024-02-26T13:00:00+0000"
}
]
}
۶. دریافت اطلاعات فالوورها و تعاملات
برای دریافت لیست فالوورها و اطلاعات تعاملات، از این درخواست استفاده کنید:
curl -X GET "https://graph.facebook.com/v18.0/{user_id}/followers?access_token={your-access-token}"
این روش به شما کمک میکند که یک بکاپ کامل از اطلاعات پیج خود تهیه کنید.
بیشتر بخوانید: چگونه با API اینستاگرام پستهای محبوب خود را شناسایی کنیم؟
نتیجهگیری
بکاپ گرفتن از پیج اینستاگرام با استفاده از API اینستاگرام، یک روش حرفهای و خودکار برای ذخیره محتوا، کامنتها، تعاملات و اطلاعات فالوورها است. این کار از از دست رفتن دادهها جلوگیری میکند و امکان استفاده از محتوا در آینده را فراهم میکند. با یک اسکریپت ساده در Python، میتوان این فرآیند را کاملاً خودکار کرد.
سوالات متداول
آیا برای گرفتن بکاپ نیاز به حساب تجاری دارم؟
بله، برای استفاده از Instagram Graph API، حساب اینستاگرام شما باید تجاری (Business) یا خلاق (Creator) باشد.
آیا این API میتواند اطلاعات پیجهای دیگر را دریافت کند؟
خیر، فقط میتوانید از پیجهایی که به حساب فیسبوک شما متصل هستند بکاپ بگیرید.
آیا میتوان دایرکتها را نیز ذخیره کرد؟
خیر، API اینستاگرام در حال حاضر امکان دریافت پیامهای دایرکت (Direct Messages) را فراهم نمیکند.
آیا استفاده از API اینستاگرام رایگان است؟
بله، اما برای دسترسی طولانیمدت به API باید اپلیکیشن شما تأییدیه فیسبوک را دریافت کند.
چطور میتوان این فرایند را خودکار کرد؟
میتوان از Python و یک کرون جاب (Cron Job) در سرور استفاده کرد تا بکاپگیری بهصورت خودکار و زمانبندیشده انجام شود.