تجربه من از  GRAPH API INSTAGRAM (قسمت اول)

به نام خداسلاممیخوام تو این پست از تجربه کار کردن با GRAPH API INSTAGRAM بگم.قبل از این که شروع کنم باید بگم که امکاناتش چیه ؟ و همچنین یه توضیح مختصر درباره GRAPH API ها بنویسم چون که فیسبوک از این تکنولوژی استفاده کرده .برای خالی نبودن عریضه ( قطعا از وب کپی شده.)لیست چیزهایی که دربارش تو این سری پست ها حرف میزنم :امکانات Graph API INSTAGRAMاما GraphQL API ها چی هستند و چه فرقی با REST دارند ؟چرا مستقیم نرفتم سراغ اینستاگراماز کجا شروع کنیم ؟ساخت app در facebook developerاضافه کردن app به pageاضافه کردن bussiness account به پیجپیداکردن id مربوط به پیج خودمونکوئری تست زدن تو محیط فیسبوکگرفتن extend access tokenو ...امکانات Graph API INSTAGRAMاینجا نمیخوام تمام امکاناتش رو لیست کنم و اگه بخواید میتونید برید به صفحه معرفیش (لینک پایین ) و با دقت و جزئیات کافی تک تک موارد رو بررسی کنید. ( شاید خودم تو قسمت های بعدی رفتم سراغشون و چند تا پست دیگه نوشتم.) https://developers.facebook.com/docs/instagram-api/ من میخوام از تجربه ای که داشتم بگم و اینکه همیشه شروع کردنش از همه سخت تره و مدام به خطاهایی که نمیدونید منبعش چیه برمیخورید .و لازم نیست توضیح بدم تمام امکاناتش چیه و خیلی مختصر میتونیم شروع کنیم . و این نوشته بیشتر راهنمایی میکنه که از کجا شروع بکنیم و قاعده کار چیه. و قاعدتا کسی که ازش استفاده میکنه میتونه راهشو پیدا بکنه و چیزی که میخواد رو بدست بیاره.با توجه به این که فیلد کاری من تو حوزه داده هستش و تو استارتاپی که فعالیت میکنم ، نیاز داشتم اطلاعات اینستاگرام رو به صورت اتوماتیک دریافت کنم ، اطلاعاتی مثل لایک و کامنت و یه سری فیلد دیگه که مرتبط با بحث های دیجیتال مارکتینگه و جلوتر دقیقا معرفیش میکنم ، این نیاز رو ایجاد کرد که برم سراغ API های اینستاگرام و درنهایت چون اینستاگرام زیر مجموعه فیسبوکه از فیسبوک سر در آوردم.و اما GraphQL API ها چی هستند و چه فرقی با REST دارند ؟قبل از این که بخوام توضیح بدم این شکل رو ببینید.GraphQL API VS REST APIاز لحاظ استفاده کردن هر دو سرویس با یه دستور ساده پایتونی مثل زیر قابل استفاده هستند و تفاوتش تو این هستش که توی گراف ما دقیقا دیتایی رو دریافت میکنیم که از سرور درخواست میکنیم و دیتای اضافی برای ما نمیفرسته ، که البته توی رست هم این رو میشه مدیریت کرد ولی پیچیدگی بیشتری داره.unuix : curl -i -X GET \ &quothttps://graph.facebook.com/v6.0/me/accounts&quot python : requests.get( &quothttps://graph.facebook.com/v6.0/me/accounts&quot)و شاید اگه تفاوت بین این ها رو نمیدونستیم هم راحت میتونستیم ازشون استفاده بکنیم. ولی همیشه یادگرفتن چیزهای جدید بهتره. و سعی کنید چیز هایی بیشتری بدونید.و در آخر هم برای توضیحات بیشتر لینکی که تو صفحه اول سرچ گوگل بالا میاد و داکیومنت خوب و قوی برای استفاده از این تکنولوژی که خود فیسبوک توسعه داده میزارم. https://graphql.org/ چرا مستقیم نرفتم سراغ اینستاگرامInstagram APIبه دلایلی که توی عکس بالا می بینید مجبور شدم برم سراغ فیسبوک.البته اون موقعی که من شروع کردم ، سرویس اینستاگرام کامل بسته نشده بود ولی اخطار داده بود که تا فلان تاریخ میبندیمش و من از خیرش گذشتم و مستقیم رفتم سراغ فیسبوک.همچنین این نکته رو هم باید بگم که داکیومنت های فیسبوک واقعا خیلی بهتر از اینستاگرام بود.چرا سراغ کتابخونه های آماده ای که برای اینستاگرام وجود داشت نرفتی ؟من با پایتون کار میکنم که به نظرم جزو گزینه های خوب برای کارهای مربوط به تحلیل داده هستش و وقتی داشتم درباره اطلاعات اینستاگرام سرچ میکردم ، به چند کتابخونه پایتونی غیر استاندارد (شرکت سازنده ننوشته) برخورد کردم ولی ترجیح دادم استفاده نکنم ، اما دلیلش :مهمترین دلیلش اینه که معمولا داکیومنت های تر و تمیزی ندارند و اصولا باید برم کل کد رو بخونم تا متوجه بشم که چجوری باید باهاش کار بکنم.این کتابخونه ها چون استاندارد نیستند و هیچ تضمینی برای این که از روش درستی که مورد تائید اینستاگرام هستش استفاده بکنه و ممکنه به هردلیلی اکانتمون بسته بشه که قاعدتا به هیچ عنوان قابل پذیرش نیستش.و دلیل دیگه ای که داشتم این بود که ممکنه هر لحظه این سیستم از کار بیوفته ولی معمولا سرویس های استاندارد ، کیفیتشون تضمین شده هستش و قبل از هر تغییری چندین بار اطلاع رسانی میکنند .و البته امنیت هم مهم هستش ، ولی با توجه به متن باز بودن نگرانی کمی داشتم.از کجا شروع کنیم :قاعدتا اولین کاری که باید انجام بدید اینه که یه اکانت فیسبوک بسازید.facebook registerیه نکته ای رو همین الان اشاره کنم و اون هم این هستش که اکانت اینستاگرام ما business account هست و لازمه برای استفاده از Graph API Instagram حتما اکانتتون رو بیزینس کرده باشید.و اگه بیزینس نباشه شاید بخواید برید سراغ Instagram Basic Display API .ادامشو توی قسمت دوم مینویسم.