REST API چیست و چگونه می توانید داده ها را برای برنامه یا وب سایت خود جمع آوری کنید؟

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

REST به معنای انتقال حالت نمایندگی است و معماری ای است که برای طراحی برنامه های سرویس گیرنده سرویس گیرنده استفاده می شود. با استفاده از Rest API ، نمایشی از داده های درخواستی ذخیره شده در پایگاه داده دریافت می کنید. REST API نیز فاقد حالت است ، به این معنی که سرور هیچ گونه اطلاعاتی را بین درخواست های کلاینت ذخیره نمی کند.

اگر به دنبال مثال Rest API و توضیح عمیق نحوه عملکرد آن هستید ، به خواندن ادامه دهید.

REST API چگونه کار می کند؟

REST API به داده ها از طریق شناسه های یکسان منابع (URIs) دسترسی دارد ، که رشته ای از کاراکترها هستند که یک منبع خاص را مشخص می کنند. نوع URI مورد استفاده REST API یک منبع یاب یکنواخت (URL) است.

برای دسترسی و دستکاری منابع ، REST API از افعال درخواست زیر استفاده می کند:

  • دریافت (این برای بدست آوردن داده از پایگاه داده استفاده می شود)
  • ارسال (افزودن داده های جدید به پایگاه داده)
  • قرار دادن (به روز رسانی داده ها در پایگاه داده)
  • حذف (حذف داده ها از پایگاه داده)

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

کلید API یک شناسه منحصر به فرد است که پس از ثبت نام در پلت فرم REST API آن را دریافت خواهید کرد. پرس و جو معمولاً یک معادله ساده است که برای شخصی سازی جستجوی شما استفاده می شود. بنابراین ، اگر می خواهید آب و هوای فعلی در شهر نیویورک را دریافت کنید ، بخش درخواست URL شما ممکن است "city = New York" باشد.

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

استفاده از یک برنامه جاوا اسکریپت برای گرفتن داده از API های مختلف استراحت

برای ساخت این برنامه ساده ، دو برنامه نرم افزاری دیگر وجود دارد که باید آنها را در رایانه خود نصب کنید: NodeJS و npm. ما مقاله ای در مورد نحوه نصب NodeJS و npm در اوبونتو ، و همچنین مقاله ای در مورد نحوه انجام این کار در ویندوز نوشتیم ، بنابراین اگر می خواهید بیشتر بدانید ، آنها را بررسی کنید.

پس از نصب برنامه های بالا بر روی رایانه شما ، باید مراحل زیر را انجام دهید:

  1. IDE خود را باز کرده و ترمینال را راه اندازی کنید.
  2. با استفاده از دستور cd به پوشه حاوی فایل برنامه جاوا اسکریپت خود بروید.
  3. npm را با خط زیر کدگذاری کنید:
 npm init -y

یک ماژول npm وجود دارد که نقش مهمی در عملکرد این برنامه ایفا می کند. این ماژول got است که یک کتابخانه درخواست HTTP برای NodeJS است. خط کد زیر آخرین نسخه کتابخانه got را در پرونده های برنامه شما نصب می کند:

 npm install got@latest

حالا شما می توانید پیش بروید و برنامه خود را بسازید.

استفاده از کتابخانه Got برای ساخت برنامه شما

 //import the got library into your application
const got = require('got');

//fetch data from a specific REST API and prints its body to the terminal
(async () => {
try {

const response = await got(URL);
const data = JSON.parse(response.body);
console.log(data);
} catch (error) {
console.log(error.data);
}
})();

برنامه فوق داده ها را از هر API REST در وب دریافت می کند. با این حال ، ابتدا باید آدرس منبع مربوطه را ارائه دهید.

جمع آوری داده ها از API Weather REST

Weatherbit.io API یکی از محبوب ترین API های آب و هوایی REST است . قرار دادن URL این API در برنامه جاوا اسکریپت ساده بالا ، برنامه را عملیاتی می کند.

استفاده از Weatherbit.io REST API

 //import the got library into your application
const got = require('got');

//fetch data from a specific REST API and prints its body to the terminal
(async () => {
try {
const URL = 'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';
const response = await got(URL);
const data = JSON.parse(response.body);
console.log(data);
} catch (error) {
console.log(error.data);
}
})();

آدرس اینترنتی API Weatherbit.io اکنون با موفقیت در برنامه درج شده است. با این حال ، یک جنبه از URL وجود دارد که باید برای اجرای برنامه تنظیم کنید. این بخش با عنوان "API_KEY" است و این کلید چیزی است که هنگام ثبت نام برای یک حساب رایگان از Weatherbit.io دریافت خواهید کرد.

شما همچنین می توانید قسمت پرس و جو را در کد بالا تنظیم کنید. این برنامه در حال حاضر آب و هوا را در عرض جغرافیایی 40.7128 و طول جغرافیایی -74.0060 جستجو می کند ، اما می توانید مختصات جدیدی را وارد کنید. اگرچه درخواست بالا رویکرد توصیه شده است ، اما می توانید آب و هوا را در مکانی با استفاده از نام شهر جستجو کنید.

برای اطلاعات بیشتر در مورد نحوه استفاده از API Weatherbit.io REST ، اینجا را کلیک کنید .

پس از قرار دادن کلید API خود در قسمت مربوطه در بالا ، اکنون می توانید فایل جاوا اسکریپت خود را اجرا کنید. برنامه چیزی مشابه خروجی زیر را در ترمینال شما ارائه می دهد.

Weatherbit.io مثال پاسخ REST API

 data: [
{
rh: 53,
pod: 'd',
lon: -74.01,
pres: 1005.9,
timezone: 'America/New_York',
ob_time: '2021-09-27 14:50',
country_code: 'US',
clouds: 25,
ts: 1632754200,
solar_rad: 652.8,
state_code: 'NY',
city_name: 'New York City',
wind_spd: 5.66,
wind_cdir_full: 'west-southwest',
wind_cdir: 'WSW',
slp: 1015.9,
vis: 5,
h_angle: -30,
sunset: '22:44',
dni: 851.72,
dewpt: 12,
snow: 0,
uv: 5.68859,
precip: 0,
wind_dir: 240,
sunrise: '10:49',
ghi: 657.55,
dhi: 106.79,
aqi: 53,
lat: 40.71,
weather: [Object],
datetime: '2021-09-27:14',
temp: 22,
station: 'KJRB',
elev_angle: 40.89,
app_temp: 21.7
}
],
count: 1
}

برخی از جنبه های مهمتر داده های برگشت داده شده در پاسخ عبارتند از:

  • CITY_NAME (نام شهرستان گرداند در طول جغرافیایی و عرض جغرافیایی ارائه).
  • Datetime (ساعت چرخه فعلی را در قالب YYYY-MM-DD: HH برمی گرداند).
  • آب و هوا (یک شی حاوی نماد آب و هوا ، کد آب و هوا و توضیحات متنی آب و هوا را برمی گرداند).

گرفتن اطلاعات از API News REST

API خبری مورد استفاده در این بخش Newsdata.io است. مانند همه REST API های موجود در وب ، چندین گزینه پرس و جو را ارائه می دهد که می توانید از آنها برای بازیابی اخبار فوری در سراسر جهان استفاده کنید. با API Newsdata.io ، می توانید اخبار مربوط به یک کشور خاص ، یا به یک زبان ، رده و غیره را دریافت کنید.

با استفاده از برنامه جاوا اسکریپت ، می توانید داده ها را از API اخبار REST بازیابی کنید. به سادگی آدرس اینترنتی موجود در برنامه فوق را با آدرس زیر جایگزین کنید:

 'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'

گام بعدی این است که بخش "YOUR_API_KEY" را در URL بالا با کلید API که پس از ثبت نام در Newsdata.io دریافت خواهید کرد ، جایگزین کنید. نشانی اینترنتی بالا اخبار فوری آمریکا را نشان می دهد. با این حال ، اگر اخباری از ژاپن می خواهید ، می توانید به سادگی عبارت "contry = us" را با "country = jp" جایگزین کنید.

برای اطلاعات بیشتر در مورد نحوه استفاده از API Newsdata.io REST ، اینجا را کلیک کنید .

مطالب مرتبط: آیا می خواهید عناوین خبری را به وب سایت یا برنامه خود اضافه کنید؟ شما به API Mediastack نیاز دارید

Newsdata.io مثال پاسخ REST API

 {
title: 'Driver Killed By His Own Car Door While Waiting In Line At Fast-Food Drive-Thru, Providing Cautionary Insights For AI Self-Driving Cars',
link: 'https://www.forbes.com/sites/lanceeliot/2021/09/27/driver-killed-by-his-own-car-door-while-waiting-in-line-at-fast-food-drive-thru-providing-cautionary-insights-for-ai-self-driving-cars/',
keywords: [Array],
creator: [Array],
video_URL: null,
description: "Sad news story about a driver that was killed by his own car door (while in a drive-thru), provides cautionary insights about
the advent of AI-based self-driving cars. Here's the insider look.",
content: "Sad news story about a driver that was killed by his own car door (while in a drive-thru), provides cautionary insights about the
advent of AI-based self-driving cars. Here's the insider look.",
pubDate: '2021-09-27 15:30:00',
image_URL: 'https://thumbor.forbes.com/thumbor/fit-in/0x0/filters%3Aformat%28jpg%29/https://specials-images.forbesimg.com/imageserve/614272b9f18bec6882652695/0x0.jpg?cropX1=23&cropX2=2455&cropY1=23&cropY2=1538',
source_id: 'forbes'
}

استفاده از برنامه پایتون برای گرفتن داده از API های مختلف استراحت

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

مطالب مرتبط: نحوه ساخت API در پایتون: چارچوب های محبوب

تنها کاری که باید انجام دهید این است که ماژول HTTP python درخواست ها را با استفاده از محیط pip نصب کنید. سپس ، می توانید برنامه پایتون خود را با استفاده از کد زیر بسازید:

 # import the requests library
import requests
# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()
for key in json:
print(key, json[key])

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

گرفتن اطلاعات برای وب سایت یا برنامه شما بسیار ساده است

شما در حال حاضر ابزارهایی را دارید که برای جمع آوری داده ها برای برنامه های نرم افزاری خود نیاز دارید. مهم است که به خاطر داشته باشید که معماری REST اتصال شل را تسهیل می کند ، به این معنی که می توانید از هر زبان برنامه نویسی برای گرفتن داده از هر API REST در وب استفاده کنید.

اکنون می دانید که چگونه از Rest API استفاده کنید ، چرا آن را امتحان نکنید؟