کارکردن با APIs (مفاهیم + کد)

گردآوری و تالیف : علیرضا معمارزاده
تاریخ انتشار : 03 آذر 1398
دسته بندی ها : آموزشی

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

کارکردن با APIs (مفاهیم + کد)

بله! شما درست خواندید! من اینجا از جاوااسکریپت و پایتون استفاده می‌کنم اما شما می‌توانید از هر زبانی که بخواهید استفاده کنید.

بنابراین اولین سؤالی که شما ممکن است بپرسید این است که API چیست؟

API مربوط به رابط برنامه‌نویسی برنامه‌های کاربردی است. به عبارت ساده‌تر، درواقع عملکردی است که می‌تواند برای کارکردن با سایر برنامه‌های کاربردی در اینترنت و برنامه‌ای که از ( Backend + Frontend+ پایگاه داده) ساخته‌شده است، استفاده شود امیدوارم که شما با این موارد آشنا باشید.

بعضی از مثال‌های API:

1.لاگین شدن با api فیسبوک 

2. نقشه‌های API مربوط به Google

3. جریان داده API مربوط به Twitter

4. نوار پرداخت API

به من اعتماد کنید! هر سازمانِ فناوری اطلاعات این روزها یک مجموعه از API دارد.

اما چرا ما به API نیاز داریم؟

فرض کنید که شما می‌خواهید برنامه‌ای را توسعه دهید که به کاربرانی نیاز دارید که باید با استفاده از حساب کاربری‌شان در Facebook به برنامه شما متصل شوند. مشکل در اینجا این است که شما دسترسی به کد Facebook یا پایگاه داده کاربران Facebook ندارید. 

بنابراین شما باید یک درخواست به بخش عمومی Facebook Login API (به آدرس URL) ارسال کنید (منظور من به‌صورت نوشتاری است) و Facebook درخواست شمارا چک کرده و جزئیات کاربری را در پایگاه داده خودشان تائید می‌کند و برای شما پاسخ (ok) یا (error) ارسال می‌کند و پس‌ازآن کاربر برنامه می‌تواند به برنامه شما از طریق حساب Facebook خودش متصل شود.

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

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

بیایید نگاهی به بعضی از کدها بیندازیم:

در دو مورد شما نیاز دارید که از API داده بگیرید. بیایید ابتدا به آنها نگاهی بیندازیم:

1.URL : شما یک درخواست از برنامه خودتان با استفاده از کد به این آدرس URL می‌فرستید.

2. توابع ویژه: تقریباً در هر زبان برنامه‌نویسی، یک روش استاندارد برای ارسال درخواست به یک آدرس URL وجود دارد.

الف. در جاوااسکریپت این عملکرد به‌صورت fetch() است.

ب. در پایتون به‌صورت request() است.

ج. در اندروید به‌صورت okhttp() یا retrofit است.

به یاد داشته باشید که این تابع ویژه‌ای نیست بلکه تنها یک کتابخانه است که شما می‌توانید از آن استفاده کنید (متن باز و کاملاً رایگان) درواقع یک دیگ بخاری از کد است. این تابع ویژه را در زبان برنامه‌نویسی خودتان چک کنید.

البته صحبت کردن ساده است! اما یک نوشتن یک کد باکیفیت ساده نیست. بیایید نگاهی به یک کد درحال اجرا بیندازیم:

برای این مثال ما از NASA open Data API استفاده می‌کنیم. API Key خودتان را از این لینک دریافت کنید و آن را با کد زیر جایگزین کنید.

نمونه کد جاوااسکریپت

کارکردن با APIs (مفاهیم + کد)

خروجی :

کارکردن با APIs (مفاهیم + کد)

نمونه کد پایتون

کارکردن با APIs (مفاهیم + کد)

خروجی :

کارکردن با APIs (مفاهیم + کد)

و تمام! این روش گرفتن داده از یک API با استفاده از متدهای fetch() و request() در جاوااسکریپت و پایتون است.

 

سخن‌پایانی

ما در سایت راکت نیز از یکسری apiهای گوگل، یاهو و گیتهاب برای راحتی شما به هنگام لاگین کردن استفاده کرده‌ایم. همچنین این قول را به شما می‌دهیم که بزودی درباره دیگر زبان‌های برنامه‌نویسی نیز مقالاتی به این شکل راجع به apiها قرار دهیم.

برای علاقمندان به apiنویسی ما دو دوره جداگانه برای کار با apiها آماده کردیم که در زیر لینک آنها را قرار می‌دهم:

ساخت RESTful Api با لاراول

ساخت RESTful Api با نود جی اس

منبع 

مقالات پیشنهادی

  • بازاریابی محتوا در نمایشگاه ها

    بازاریابی محتوا یکی از مهم‌ترین شاخه‌های بازاریابی است که در سالیان اخیر از سوی شرکت‌ها و کسب و کارها مورد استقبال گسترده قرار گرفته است. اگرچه اهمیت...

    پشتیبانی راکت
  • مدیریت ارتباط با مشتری یا CRM چیست ؟

    در فضای  کسب وکار هر شرکت و کسب و کاری که وارد بشوید مشاهده می کنید که در آنجا نرم افزار هایی متناسب با فعالیت آن کسب و کار در حال استفاده است. معمولا...

    پشتیبانی راکت
  • اکوسیستم محتوا در بازاریابی و فروش

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

    پشتیبانی راکت
  • بازاریابی محتوای موبایلی

    همگام با افزایش تعداد کاربران تلفن همراه، معادلات دنیای بازاریابی آنلاین نیز تغییرکرده است. با توجه به اینکه بیشترین جست‌وجوها در اینترنت به وسیله تلف...

    پشتیبانی راکت