API چیست؟ آشنایی با API (اِی پی آی) به زبان کاملا ساده

0 885

API چیست؟ آشنایی با API (اِی پی آی)  به زبان کاملا ساده

 

API چیست؟

 API در واقع مخفف واژه application programming interface به معنای رابط برنامه کاربردی است.

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

 

API چیست؟ با ذکر چند مثال !

 

برای مثالی دیگر، فیس بوک دارای یک API (اِی پی آی)  عمومی است که به اپلیکیشن های شخص ثالث امکان فراخوانی فیس بوک را می دهد. به این معنی که مثلاً یک توسعه دهنده می تواند به شما امکان دهد با استفاده از حساب فیس بوک خود وارد یک اپلیکیشن شوید. اصطلاح ادغام یا “integrate” به این معنی است که یک اپلیکیشن از API خاصی استفاده می کند.

افزودن فیس بوک فقط یک نمونه از هزاران موردی است که اپلیکیشن ها توسط آن سایر خدمات را ادغام می کنند. به عنوان مثال ، سایر ادغام ها می توانند شامل موارد زیر باشند:

 

  • اپلیکیشنWhatsApp (واتساپ)، Google Maps (گوگل مپ) را ادغام کرده است تا بتوانید موقعیت مکانی خود را در یک پیام به اشتراک بگذارید.
  • اپلیکیشن Spotify (اسپاتیفای) و بسیاری دیگر فیس بوک را ادغام کرده اند تا بتوانید با حساب فیس بوک خود وارد برنامه های آنها شوید
  • برخی از سایت های دیگر YouTube (یوتیوپ) را ادغام کرده اند ، بنابراین می توانید بدون ترک سایت، فیلم ها را تماشا کنید.

API چیست؟ بخش نحوه استفاده از API

 

اکنون ، شما که در حال خواندن این مقاله هستید احتمالا کاملاً با API آشنا شدید، یا از قبل کمی در مورد آنها می دانید و می خواهید اکنون آنها را در اپلیکیشن های خود ادغام کنید ، بنابراین سوال این است که چگونه می توانید این کار را انجام دهید؟

تصور کنید شما یک توسعه دهنده  نرم افزار در حال طراحی اپلیکیشن هستید. بگذارید این اپلیکیشن را مای اپی اپ MyApiApp (مای اِی پی آی اپ) بنامیم. هدف (مای اِی پی آی اپ) کسب حداکثر بهره از شبکه های اجتماعی کاربران است. به عنوان مثال ، وضعیت دوستان در همه شبکه ها را در یک صفحه نشان دهد. بنابراین MyApiApp مهمترین اخبار در مورد همه افراد را در تمام شبکه های اجتماعی کاربر نشان می دهد. برای این کار ، برنامه MyApiApp باید به عملکردهای Facebook  و LinkedIn دسترسی پیدا کند. برای این کار از API های آنها استفاده خواهیم کرد.


API چیست؟

نحوه استفاده از  API (اِی پی آی)  برای مبتدیان – جزئیات فنی API چیست؟

 

حتی اگر تازه کار باشید ، می خواهید با جزئیات فنی نحوه ارتباط API ها به سرویس، کمی اطلاعات داشته باشید. مسئله این است که API های مختلف به روش های مختلفی ارتباط برقرار می کنند. بیشتر API در چهار نوع مختلف قرار دارد. RESTful (رست فول) رایج ترین نوع است، و این مقاله در مورد این نوع خواهد بود ، اما به طور خلاصه سه مورد دیگر وجود دارد:

 پروتکل دسترسی ساده به اشیا SOAP (سوپ). این نوع، داده ها را به صورت یک فایل XML (که مانند نوع فانتزی سند جدول HTML (اچ تی ام ال) است) تبادل می کند.

 

API چیست؟ قسمت جاوا 

 

 JavaScript (جاوا اسکریپت) – تخصصی ترین نوع API ها، نوع جاوا است، این نوع بر زبان جاوا اسکریپت متمرکز شده و با استفاده از این زبان قابل دسترسی هستند. این نوع فقط توسط جاوا اسکریپت و توسعه دهندگان وب استفاده می شوند.

XML-RCP (ایکس ام ال-آر سی پی) – برای استفاده از این نوع API ها ، شما باید آن را با استفاده از XML فراخوانی می کنید و آنها XML را برمی گرداند. این استاندارد با توسعه بالاتر به SOAP تبدیل شده است. در API های RESTful ، ارتباط بین اپلیکیشن ها با استفاده از پروتکل اصلی HTTP روتکل انتقال  HyperTextانجام می شود. HTTP به طور گسترده در اینترنت مورد استفاده قرار می گیرد و بسیاری از توسعه دهندگان مدت زمان زیادی است که با آن آشنا هستند. در حقیقت ، به همین دلیل است که تمام آدرس های وب “واقعی” با HTTP یا HTTPS شروع می شوند.

 

در واقع ساده ترین درخواست HTTP که می توانید ایجاد کنید ، همان باز کردن ساده ی یک آدرس وب سایت مثلا http://www.example.com در مرورگرتان است که یک درخواست HTTP را به آن آدرس ارسال می کند. این بدان معنی است که باز کردن یک صفحه وب فقط عمومی ترین ورژن ساخت یک درخواست HTTP است. با این حال ، API های RESTful می توانند از این پروتکل برای تعامل با رابط های برنامه استفاده کنند.

در صورتی که اپلیکیشن MyApiApp بتواند به ویژگیهای فیس بوک دسترسی پیدا کند ، درخواست HTTP را به سرورهای فیس بوک ارسال می کند. در درخواست HTTP این مورد مشخص شده است که اپلیکیشن از کدام عملکرد API می خواهد استفاده کند (به عنوان مثال اطلاعات پروفایل بازگشت).

 

API چیست؟


چهار روش عمده درخواست HTTP وجود دارد:

  • GET – گرفتن داده ها
  • PUT – ویرایش داده های موجود
  • POST – افزودن داده های جدید
  • DELETE- حذف داده ها

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

اما متأسفانه ، نحوه شکل گیری داده ها در درخواست ، و نحوه فراخوانی درخواست ، بین API   ها یا زبان های برنامه نویسی یکسان نیست. با این حال ، می توانیم یک مثال ساده و تعاملی با API گوگل مپ ارائه دهیم.

هنگامی که از API گوگل مپ استفاده می کنید ، یک درخواست JSON دریافت می کنید ، که فرمت آن برای خواندن توسط ماشین ها آسان است.

اگر روی URL زیر کلیک کنید ، دقیقاً مشاهده خواهید کرد که برنامه چه نوع داده ای را که توسط این API (اِی پی آی)  از طریق RESTful HTTP فراخوانده، دریافت می کند:

 


http://maps.googleapis.com/maps/api/geocode/json؟address=Mannheim


از آنجا که فقط داده ها را می خوانید و می خواهید از پروتکل GET استفاده کنید ، می توانید این کار را در جاوا اسکریپت مطابق زیر انجام دهید:


var GoogleMapsRequest = new XMLHttpRequest();
GoogleMapsRequest.open(“GET”, “http://maps.googleapis.com/maps/api/geocode/json?address=Mannheim”, false);
GoogleMapsRequest.send()


این درخواست API گوگل مپ  Google Maps، ژئودیتا GeoData ی Mannheim را با فرمت JSON برمی گرداند.

اجازه دهید فعلاً این بحث را اینجا رها کنیم، زیرا یک نکته مهم در هنگام استفاده از API وجود دارد و آن احراز هویت است.

بسیاری از API ها نیاز دارند که یک کاربر خود را تأیید کنند. از یک سو، این کار درجه ای از محافظت در برابر سوء استفاده دیگران را تضمین می کند. دلیل این امر این است که اگر ارائه دهنده بیش از حد از یک API با برقراری مثلاً یک میلیون تماس در هر دقیقه سواستفاده کند ، آنگاه API برای دیگران کند و ناپایدار خواهد شد. این کار توسعه دهنده است که به خود با API مجوز می دهد. از طرف دیگر ، شما نیز از طرف کاربر اپلیکیشن مجوز میگیرید. این در شرایطی است که کاربر اجازه می دهد تا به اطلاعات شخصی اش در یک سرویس دسترسی پیدا کند. MyApiApp را در نظر بگیرید. با این کار ، از یک کاربر درخواست خواهیم کرد تا به اخبار شخصی خود دسترسی پیدا کند. برای اینکه کاربران نسبت به دادن اطلاعات شخصی خود به یک اپلیکیشن کمتر احتیاط کنند ، انواع مختلفی از تأیید اعتبار یا مجوزها وجود دارد که می توان انجام داد:

احراز هویت دسترسی اصلی HTTP این یک شکل اساسی برای تأیید اعتبار است زیرا فقط به یک نام کاربری و رمزعبور نیاز دارد. این تایید اعتبار در عنوان درخواست HTTP منتقل می شود. این بدترین نوع احراز هویت است ، زیرا داده های کاربر فقط به ور ضعیفی کدگذاری شده است ، هیچ گونه رمزگذاری خاصی را شامل نمی شود، و بنابراین حداقل امنیت را ارائه می دهد.

 OAuth 1.0 (او اوث ۱.۰). این روش امنیت بیشتری را ایجاد می کند و با چیزهایی به نام توکن ها کار می کند. توکن، رشته منحصر به فردی است که می تواند به یک کاربر اختصاص داده شود. به عنوان مثال ، MyApiApp می تواند از طریق فرم دکمه ورود به سیستم فیس بوک درخواستی را از کاربر بخواهد. از آنجا ، MyApiApp می تواند از توکن کاربر برای دسترسی به استفاده های مجاز از نمایه فیس بوک استفاده کند. برای کاربر ، این روند بسیار شبیه دانلود یک اپلیکیشن از اپ استور یا فروشگاه اپلیکیشن اندروید است، جایی که لیستی از مجوزهای لازم برای اپلیکیشن ارائه شده است. به دلیل پیچیدگی OAuth 1 بیشتر سرویش ها در عین حال مبتنی بر OAuth 2 هستند.

 OAuth 2.0 .چیزی بیش از یک آپدیت ساده ی  OAuth 1.0 نیست. این مورد در واقع یک پروتکل جدید است که به روشی کاملاً نوینی عمل می کند. اهداف اصلی  OAuth 2.0 بهبود قابلیت همکاری و همچنین ایمنی است. یعنی پروتکل جدید  OAuth 2.0 قادر است از بسیاری از سرویس های متفاوت دیگر (Interoperability) استفاده کند و عمدتا به دلیل کاهش پیچیدگی و استفاده از استانداردهای شناخته شده و آزمایش شده،امنیت پروتکل در برابر حملات پروتکل  OAuth 1.0 بسیار بهتر و ایمن تر است.

در ادامه‌ی مطلب API چیست؟


API چیست؟


بخش نهایی مطلب API چیست؟

 

قبل از شروع کار با API ها، خواندن اسناد API (اِی پی آی)  ضروری است. این کار می تواند راهنمای شما باشد برای آنچه ممکن است با API متفاوت یا غیر منتظره است.

هنگام خواندن اسناد ، شما باید مطمئن شوید که پاسخ این چهار سؤال را پیدا کرده اید:

  • API از چه نوع است؟ ( RESTful، SOAP ، JavaScript یا XML-RCP
  • از چه فرمت داده ای در درخواست استفاده می شود؟ ( JSON ، HTML یا XML
  • چه نوع مجوزی مورد استفاده قرار می گیرد یا مورد نیاز است؟ ( OAuth 1.0 ، OAuth 2.0 ، احراز هویت اساسی HTTP
  • چه عملکردهایی برای من به عنوان یک توسعه دهنده در دسترس است؟

پس از حل همه این موارد ، می توانید API (اِی پی آی)  خود را در اپلیکیشن خود وارد کنید.


API چیست؟

اِی پی آی (API)

مترجم: مهسا دبستانی قمصری

منبع: blog.cloudrail.com

 

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.