API پیش بینی آب و هوا

دی ۱۰, ۱۳۹۴

جهت دریافت اطلاعات مربوط به پیش‌بینی آب و هوای شهرهای مختلف ایران و جهان می‌توانید از API های سایت MBaaS با مشخصات زیر استفاده نمائید:

API Key = b34967b4bbcad31413a25f0393988de73caa60a0537db2fb3041c834e1f6a158
API Link= http://api.mbaas.ir/api/v2/ow

از مهمترین این APIها می‌توان به موارد زیر اشاره کرد:

  1. آب و هوای فعلی
  2. پیش‌بینی آب و هوای ۵ روز آینده
  3. پیش بینی آب و هوای حداکثر ۱۶ روز آینده

۱٫ API آب و هوای فعلی

از طریق این API به اطلاعات مربوط به آب و هوای فعلی بیش از ۲۰۰,۰۰۰ شهر دسترسی وجود دارد، که مرتبا بر اساس اطلاعات بیش از ۴۰,۰۰۰ ایستگاه آب و هوایی به‌روزرسانی می‌شوند.

جهت دریافت آب و هوای فعلی هر شهر کافیست مشابه آدرس زیر به API Link فوق، عبارت weather را اضافه کنید.

API Link= http://api.mbaas.ir/api/v2/ow/weather

برای فیلتر کردن اطلاعات دریافتی، می‌توانید پیش بینی آب و هوای مکان موردنظر خود را بر اساس نام، شناسه و مختصات جغرافیایی هر شهر مشخص نمائید.

نام شهر:

شما می‌توانید بر اساس نام شهر یا نام شهر و کد کشور (ISO 3166)، این API را فراخوانی کنید.

http://api.mbaas.ir/api/v2/ow/weather?q={city name}
http://api.mbaas.ir/api/v2/ow/weather?q={city name},{country code}

به عنوان مثال:

http://api.mbaas.ir/api/v2/ow/weather?q=Tehran,ir

شناسه شهر
در صورتیکه فکر می‌کنید نام شهر ممکن است ابهام ایجاد نماید و به اشتباه اطلاعات آب و هوای یک شهر هم نام دیگر برای شما ارسال شود، می‌توانید از شناسه شهر(ID) که دقیقا مشخص کننده یک شهر خاص است، استفاده نمائید.

 

http://api.mbaas.ir/api/v2/ow/weather?id=2172797

لیست شناسه شهرها را می‌توانید از فایل city.list.json.gz به دست بیاورید.

مختصات جغرافیایی

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

http://api.mbaas.ir/api/v2/ow/weather?lat=35&lon=139

۲٫ پیش‌بینی آب و هوای ۵ روز آینده

با استفاده از این API، شما می‌توانید پیش‌بینی آب و هوای ۵ روز آینده شهرهای موردنظر خود را در بازه‌های زمانی ۳ ساعته دریافت نمائید. جهت استفاده از این API باید از آدرس زیر استفاده نمائید:

API Link= http://api.mbaas.ir/api/v2/ow/forecast

جهت دریافت اطلاعات براساس نام، شناسه و مختصات جغرافیایی هر شهر، باید به ترتیب از مثال‌های زیر استفاده نمائید:
نام شهر

http://api.mbaas.ir/api/v2/ow/forecast?q=Tehran,ir

شناسه شهر

http://api.mbaas.ir/api/v2/ow/forecast?id=2172797

مختصات جغرافیایی

 http://api.mbaas.ir/api/v2/ow/forecast?lat=35&lon=139

۳٫ پیش بینی آب و هوای حداکثر ۱۶ روز آینده

شما می‌توانید، اطلاعات آب و هوای حداکثر ۱۶ روز آینده را برای هر شهر از طریق این API دریافت نمائید. برای استفاده از این API، یک پارامتر با نام cnt باید استفاده شود، که مشخص کننده تعداد روزهای موردنظر است.
جهت دریافت اطلاعات براساس نام، شناسه و مختصات جغرافیایی هر شهر، باید به ترتیب از مثال‌های زیر استفاده نمائید:

نام شهر

http://api.mbaas.ir/api/v2/ow/forecast/daily?q=Tehran,ir&cnt=7

شناسه شهر

http://api.mbaas.ir/api/v2/ow/forecast/daily?id=2172797&cnt=7

مختصات جغرافیایی

http://api.mbaas.ir/api/v2/ow/forecast/daily?lat=35&lon=139&cnt=7

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

  1. mode، مقدار این پارامتر می‌تواند یکی از مقادیر json، xml باشد و مشخص کننده قالبی است که تمایل دارید اطلاعات را دریافت نمائید. در صورتیکه این پارامتر استفاده نشود، اطلاعات به صورت پیش فرض با قالب json دریافت می‌گردد.
  2. units، مقدار این پارامتر مشخص کننده واحد دما است و می‌تواند مقادیر زیر را داشته باشد:
    1. imperial: دمای هوا را بر اساس فارنهایت مشخص می‌کند.
    2. metric: دمای هوا را بر اساس سانتیگراد مشخص می‌کند.
    3. standard: در صورتیکه از این پارامتر استفاده نکنید، دمای هوا را به صورت پیش فرض بر اساس کلوین مشخص می‌کند.

یک مثال کامل که در آن از همه پارامترهای فوق استفاده شده است، در ادامه مشاهده می‌نمائید:

http://api.mbaas.ir/api/v2/ow/forecast/daily?q=Tehran,ir&mode=xml&units=metric&cnt=7

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

به منظور درک بهتر نحوه استفاده از این API ها، می‌توانید نمونه کد ارتباط با APIهای آب و هوا را از لینک weather-api دانلود نمائید.
لازم به ذکر است که MBaaS، از APIهای سایت openweathermap.org استفاده کرده است.

تگ‌ها ; ,

8 نظر

    ارشیا بادی اردیبهشت ۱۹, ۱۳۹۵

    نحوه اطالع رسانی و خدماتتان بسیار عالی است.موفق و موید باشید

    پاسخ دادن
    رضا خرداد ۲۲, ۱۳۹۵

    ببخشید لینک نمونه کد خرابه.
    درضمن در این مطلب توضیح ندادید که چطوری باید از API Key استفاده کرد؟ من وقتی یکی از این دستوراتی که توضیح دادید رو وارد میکنم با ارور ۴۰۰ روبرو میشم و میگه Bad request. No token or api key provide

    پاسخ دادن
      مهدی مرادی خرداد ۲۳, ۱۳۹۵

      ممنون که اطلاع دادید، هم اکنون نمونه کدها قابل دانلود هستند.
      در فایل script.js نمونه کد، نحوه مقداردهی API Key را می توانید مشاهده نمائید.

      پاسخ دادن
        رضا تیر ۲۶, ۱۳۹۵

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

        پاسخ دادن
    صادق باروت کوب تیر ۱۹, ۱۳۹۵

    سلام و خسته نباشید. میگم این سیستمتون به درد نمیخوره به نظرم! چون باید یه توکن هم با اطلاعات بفرستیم و تا اونجایی که فهمیدم برای توکن باید یه بار تو سیستم لوگین کنیم. حالا اگه بخوام برنامه رو مثلا رو app موبایل پیاده کنیم باید هر گوشی یه بار با یوزر پس ما لوگین کنه و این نه از لحاظ امنیتی و نه از لحاظ کارآیی جالب نیست! لطفا اون توکن رو حذف کنید. تشکر

    پاسخ دادن
    ehsan مرداد ۲۵, ۱۳۹۵

    سلام ممنون از این api عالی که گذاشتید
    یه مشکلی که دارم اینه وفتی مثلا برای شیراز JSON رو برای ما ارسال میکنه مقدار دما و زمان طلوع و غروب آفتاب رو با یک سری اعداد نشون میده که نمی فهمم چه ربطی به دما و … داره مثلا :

    {“temp”:306.344,”pressure”:833.18,”humidity”:13,”temp_min”:306.344,”temp_max”:306.344,”sea_level”:1015.8,”grnd_level”:833.18}

    و همینطور این
    “sys”:{“message”:0.0288,”country”:”IR”,”sunrise”:1471226285,”sunset”:1471273792}
    همینطور که مشاهده می کنید مقدارهای temp , sunrise , sunset مفهوم نیستن
    لطفا راهنمایی کنید
    ممنون

    پاسخ دادن
      سمیه بهادری مرداد ۲۶, ۱۳۹۵

      سلام
      اگر قسمت پارامترهای اضافه را مطالعه کرده باشید به صورت پیش فرض دمای هوا با واحد کلوین نمایش داده می شود، اگر از units=metric استفاده کنید دما را با واحد سانتیگراد دریافت خواهید کرد.
      زمان طلوع و غروب هم به صورت Unix timestamp نمایش داده شده است.

      پاسخ دادن
    مهدی دی ۲۸, ۱۳۹۵

    وقتی api key رو تنظیم میکنم و درخواست میفرستم api این پیغام رو میده Role not found .

    پاسخ دادن

نظر دهید:

لطفا در نظر داشته باشید که بر اظهارنظرها نظارت می شود. بنابراین، در نظرات خود از کلمات اسپم و ... استفاده نکنید، در غیر این صورت نظر شما حذف خواهد شد.