API یکی از کلیدیترین ابزارهای اینستاگرام برای توسعه دهندگان محسوب میشود. این API امکان دسترسی به اطلاعاتی مانند پروفایل، تصاویر و ویدیوهایی که یک کاربر در حساب اینستاگرامش منتشر کرده را – البته با رضایت و مجوز خود کاربر – فراهم میکند. به نظر میرسد بسیاری از افزونهها و ویجتهایی که فید اینستاگرام را در سایتهای وردپرسی نمایش میدهند، دقیقاً از همین API استفاده میکنند.
با این حال، منابع فارسی جامعی درباره نحوه اتصال به API و شیوهی استفاده از آن پیدا نکردم. برای همین تصمیم گرفتم تجربهی شخصیام را در این زمینه با شما به اشتراک بگذارم و مرحلهبهمرحله توضیح دهم که چطور توانستم این اتصال را برقرار کنم و از آن در پروژهام بهره ببرم.
اگر به دنبال آموزش کدهای API اینستاگرام به زبان ساده هستید، ادامه این مقاله میتواند راهنمای خوبی برای شروع شما باشد.
Basic Display API اینستاگرام دقیقاً به چه کاری میآید؟
اگر بخواهیم ساده بگوییم، Basic Display API به شما امکان میدهد تا با اجازه کاربر، به برخی اطلاعات حساب اینستاگرامی او دسترسی پیدا کنید. البته این دسترسی فقط در سطح «خواندن اطلاعات» است و شامل هیچ نوع دستکاری یا انتشار محتوا نمیشود.
این API برای همه انواع حسابهای اینستاگرام (شخصی یا بیزینسی) قابل استفاده است، اما باید بدانید که بدون رضایت کاربر نمیتوانید به اطلاعاتش دست پیدا کنید. یک کاربرد رایج این API، نمایش آخرین پستهای یک صفحه اینستاگرام در وبسایت است—کاری که معمولاً ویجتهای اینستاگرامی وردپرس انجام میدهند.
اگر هدفتان ساخت یک ابزار پیشرفته برای مدیریت محتوا یا انتشار خودکار پست در اینستاگرام است، باید به سراغ Instagram Graph API بروید؛ چرا که Basic Display API پاسخ گوی چنین نیازهایی نیست.
با استفاده از Basic Display API میتوانید:
- با حساب کاربر ارتباط برقرار کرده و توکن دسترسی Access Token دریافت کنید
- اطلاعات پایهی پروفایل مثل نام کاربری و تعداد پستها را دریافت نمایید
- به پستها، ویدیوها و آلبومهای منتشر شده دسترسی داشته باشید
اما محدودیتهای این API هم کم نیست:
- خبری از دسترسی به استوری، ریلز یا کامنتها نیست
- نمیتوان به پستهای تبلیغاتی (پروموشنها) دسترسی داشت
- توکن کوتاهمدت تنها یک ساعت معتبر است
- توکن بلندمدت هم نهایتاً تا ۶۰ روز معتبر خواهد بود
در ادامه این مقاله و با تکیه بر آموزش کدهای API اینستاگرام، گامبهگام کار با این API را بررسی خواهیم کرد تا مسیر برای شما شفافتر شود.
برنامهای که قراره انجام بدیم چیه؟
به زبان ساده، برای کار با Basic Display API باید چند مرحله مهم را پشت سر بگذارید. در ابتدا باید یک اپلیکیشن در فیسبوک بسازید، سپس با جلب رضایت کاربر، یک توکن دسترسی بلندمدت از API اینستاگرام دریافت کنید. این توکن به شما اجازه میدهد درخواستهای بیشتری به API ارسال کنید. بعد از این، باید یک روش مناسب برای ذخیره توکن انتخاب کنید و در نهایت تصمیم بگیرید که چطور دادههای کاربر را نمایش دهید یا با آنها کار کنید.
ممکن است این فرآیند در نگاه اول پیچیده به نظر برسد، اما وقتی یک بار انجامش دهید، متوجه میشوید که همه چیز کاملاً منطقی و ساده است. در این پروژه، مراحل زیر را دنبال خواهیم کرد:
- ایجاد یک اپلیکیشن در فیسبوک
- کسب اجازه از کاربر برای اتصال به حساب اینستاگرام
- دریافت توکن دسترسی کوتاهمدت
- تبدیل توکن دسترسی کوتاهمدت به توکن دسترسی بلندمدت
- استفاده از توکن دسترسی بلندمدت برای اتصال به API
- نمایش تمام تصاویر و ویدیوهای حساب کاربری اینستاگرام
- گرفتن تأییدیه نهایی از کاربر
در این پروژه فرض کردهام که شما آشنایی اولیهای با PHP دارید؛ زیرا درخواستهای API را با استفاده از CURL PHP ارسال خواهیم کرد. البته اگر ترجیح میدهید از زبان یا ابزاری دیگر مثل Postman استفاده کنید، مشکلی نیست. همچنین فرض میکنم که شما:
- یک حساب توسعهدهنده فیسبوک دارید (اگر ندارید، ساختن آن رایگان و ساده است).
- یک حساب اینستاگرام برای تست دارید که محتوای مختلفی در آن وجود دارد.
- یک وبسایت یا صفحه گیتهاب برای تست کدها در دسترس دارید (البته بعضی افراد این مراحل را روی لوکال هم انجام دادهاند).
نکته آخر اینکه برای دسترسی به حساب توسعهدهنده فیسبوک، اگر داخل ایران هستید، احتمالاً به یک فیلترشکن نیاز خواهید داشت. اگر این پیشنیازها را دارید و آمادهاید، بیایید شروع کنیم و با استفاده از این راهنما آموزش کدهای API اینستاگرام را گامبهگام پیش ببریم.
افزودن حساب تستر به اپلیکیشن اینستاگرام در حالت توسعه Developer Mode
تا اینجای مسیر، موفق شدید اپلیکیشن موردنظرتون رو بسازید. اما چون اپلیکیشنی که ایجاد کردید هنوز در حالت توسعه (Development Mode) قرار داره و به حالت لایو نرفته، باید تعیین کنید که کدوم حسابهای اینستاگرامی مجاز به استفاده از این اپلیکیشن هستند. برای این کار باید اون حسابها رو بهعنوان تستر اضافه کنید. مراحل زیر رو دنبال کنید:
- از منوی سمت چپ پنل توسعهدهنده فیسبوک، روی گزینه Roles کلیک کنید.
- مجدداً از بخش بازشده، روی Roles بزنید تا وارد صفحه مدیریت نقشها بشید.
- در این صفحه، دکمه Add Instagram Testers رو پیدا کنید و انتخابش کنید.
- در پنجرهای که باز میشه، نام کاربری اینستاگرامی که میخواید بهعنوان تستر اضافه بشه رو وارد کنید.
- با کلیک روی Submit، دعوتنامه برای اون حساب ارسال میشه.
- حالا یک تب جدید در مرورگر باز کنید و وارد همون حساب اینستاگرامی بشید که دعوتنامه رو براش فرستادید.
- از نوار بالای اینستاگرام، روی عکس پروفایل کلیک کرده و گزینه Profile رو بزنید.
- در مرحله بعد، روی آیکون چرخدنده (تنظیمات) کلیک کنید و وارد بخش Apps and Websites بشید.
- سپس از تبهای بالای صفحه، روی Tester Invites کلیک کرده و گزینه Accept رو بزنید تا دعوتنامه رو تأیید کنید.
با انجام این مراحل، اپلیکیشن شما میتونه به اطلاعات حساب تستر متصل بشه و حالا آمادهاید تا مراحل بعدی آموزش رو ادامه بدید. در ادامه، با تکیه بر آموزش کدهای API اینستاگرام، یاد میگیریم چطور با این API ارتباط برقرار کنیم.
دریافت مجوز اتصال به حساب اینستاگرام
برای اینکه اپلیکیشن تحت وب شما بتونه به اطلاعات حساب اینستاگرام یک کاربر دسترسی داشته باشه، باید فرآیند مشخصی طی بشه. خلاصهی این مراحل چیزی شبیه به اینه:
- یک دکمه در وبسایتتون قرار بدید با عنوانی مثل «اتصال به اینستاگرام».
- با کلیک روی این دکمه، کاربر به صفحهای منتقل میشه که ازش برای صدور مجوز دسترسی استفاده میشه.
- کاربر دسترسی به حسابش رو برای اپلیکیشن شما تأیید میکنه.
- بعد از تأیید، اینستاگرام کاربر رو به آدرسی هدایت میکنه که قبلاً در تنظیمات اپلیکیشنتون (در پنل Meta for Developers) ثبت کرده بودید.
- در این بازگشت، یک پارامتر با نام code به URL اضافه میشه که درواقع همون کد مجوز برای دریافت توکن دسترسی اولیهست.
حالا که اپلیکیشنتون ساخته شده و یک حساب اینستاگرامی تستی هم اضافه کردید، میتونید وارد این مرحله بشید و کد مجوز رو دریافت کنید. برای این کار، باید URL زیر رو بسازید
https://api.instagram.com/oauth/authorize?client_id={app-id}&redirect_uri={redirect-uri}&scope=user_profile,user_media&response_type=code
- {app-id} همون شناسه اپلیکیشنه که توی داشبورد فیسبوک گرفتید.
- {redirect-uri} آدرسیه که قبلاً در قسمت Valid OAuth Redirect URIs وارد کردید.
این URL رو در یک مرورگر باز کنید. اگر همه چیز درست تنظیم شده باشه، صفحه مجوز دسترسی اینستاگرام براتون ظاهر میشه. با زدن دکمه آبی و تأیید دسترسیها، اینستاگرام شما رو به آدرس برگشت هدایت میکنه و کدی با نام code به URL اضافه میشه. این کد مجوزیه که برای گرفتن توکن دسترسی کوتاهمدت لازمه. یادتون باشه این کد فقط یک ساعت اعتبار داره.
این مرحله یکی از اصلیترین بخشهای آموزش کدهای API اینستاگرام محسوب میشه و باید با دقت انجامش بدید تا ارتباط بین کاربر و اپ به درستی برقرار بشه.
همونطور که مشخصه، اینستاگرام بعد از تأیید کاربر، کدی با عنوان code به URL این کد، برای گرفتن توکن دسترسی ضروریه. برای راحتی کاربران، من توی صفحهام یک لینک ساده گذاشتم که اونا رو مستقیم به پنجره مجوزدهی هدایت میکنه. توی پروژههای مختلف، ممکنه روش شما فرق کنه و مثلاً از دکمههای استایلدار یا ریدایرکتهای جاوااسکریپتی استفاده کنید. ولی هدف نهاییتون یکیه: فرستادن کاربر به صفحه درخواست مجوز.
<a href="https://api.instagram.com/oauth/authorize?client_id={app-id}&redirect_uri=https://kdesigns.ir/instaghetti&scope=user_profile,user_media&response_type=code" target="_blank" rel="noopener noreferrer">
<button style="background-color: #3f729b; color: white; padding: 10px 20px; border-radius: 5px; border: none; font-size: 16px;">
برای اتصال به اینستاگرام کلیک کنید
</button>
</a>
در این قطعه کد، فقط کافیه شناسه اپلیکیشن client_id و آدرس برگشت redirect_uri خودتون رو جایگزین کنید. این یکی از قدمهای کاربردی در مسیر آموزش کدهای API اینستاگرام هست که لازمه برای ساخت اپهای اینستاگرامی تعاملی، اون رو به درستی پیادهسازی کنید.
معرفی سرویس حرفهای API اینستاگرام از BoxAPI — دسترسی بدون محدودیت، بدون دردسر
اگر میخواهید بدون نیاز به دریافت مجوز از کاربر یا استفاده از توکنهای کوتاهمدت اینستاگرام، اطلاعات پروفایلها، پستها و حتی پیامهای دایرکت را به راحتی دریافت و مدیریت کنید، سرویس boxapi.ir دقیقا همان چیزیست که به آن نیاز دارید.
امکانات منحصر بهفرد BoxAPI:
API کراول اینستاگرام Instagram Crawler API
- دریافت اطلاعات کامل پروفایلهای عمومی (فالوئر، فالووینگ، بیو، لینک، آخرین پستها)
- دریافت محتوای پستها، کپشن، هشتگها، تعداد لایک و کامنت
- دریافت استوری و هایلایتها بدون نیاز به لاگین یا توکن
- بدون محدودیت درخواست و سازگار با زبانهای مختلف برنامهنویسی
API دایرکت اینستاگرام (Instagram Direct API):
- دریافت پیامهای چت دایرکت اینستاگرام
- امکان پاسخ خودکار یا ذخیرهسازی پیامها برای پشتیبانی کاربران
- اتصال ساده به رباتها و سیستمهای پشتیبانی آنلاین
- ایدهآل برای مدیریت دایرکت در پیجهای فروشگاهی و خدماتی
چرا BoxAPI
- بدون نیاز به توکن اینستاگرام یا دریافت مجوز از کاربر
- بدون محدودیت در تعداد درخواستها
- پشتیبانی سریع و فارسیزبان
- مناسب برای پروژههای واقعی و تجاری
خرید API اینستاگرام بدون دردسر، بدون بن شد یا نیاز به پروکسی