OpenWeather API를 사용해 보았습니다.
18108 단어 OpenWeatherMapapi
세계 각지의 날씨 정보를 제공되는 사이트에서 일부 무료로 이용할 수 있습니다.
계기
API 사용해보고 싶은 ~, 사용한다면 무엇이 좋을까 ~, 날씨 정보라든지 해 볼까 ~
API를 사용할 수 있을 때까지
회원등록
API를 사용하려면 회원 등록이 필요합니다.
톱 페이지에서
Sign In
탭을 클릭하고 Not registered? Create an Account.
의 메시지를 찾아 신규 등록 화면으로 진행합니다.그러면, 다음과 같은 화면이 되므로, 필요 사항을 기입해, 체크해 다음에 진행합니다.
16세 이상인 것이 이용 조건이 되므로 주의해 주십시오.
등록이 완료되면 이메일 주소 인증과 사용 목적의 입력이 있습니다.
API 구독
톱 페이지에서
Pricing
를 클릭합니다.플랜을 선택하는 화면이 나오지만, 이번에는 무료 플랜을 사용합니다.
Free
의 열에서 Get API Key
를 클릭합니다.사용할 수 있을 때까지 기다린다
로그인하여
API Keys
화면으로 이동하여 다음과 같이 API Key 목록이 표시되면 성공합니다!API를 구독한 후 실제로 사용할 수 있게 되기까지 10분~2시간 정도 걸리는 것 같습니다.
잠시 기다리거나 내일 계속하자.
잠자리에요
실제로 사용해보기
안녕하세요. 잘 잤니?
즉시 API를 사용합시다!
현재 날씨 얻기
API_KEY
에 자신의 API Key 를 대입해 봅니다.취득하는 것은 도쿄의 현재 날씨 정보입니다.
API_KEY="自分の API Key"
# クエリパラメータに units=metric を含めることにより、気温を摂氏で表示します
curl -s "https://api.openweathermap.org/data/2.5/weather?q=Tokyo&units=metric&APPID=${API_KEY}"
꽤 자세하게 얻을 수 있습니다.
최저 기온과 최고 기온은 수수께끼이지만, 그 날의 그 시점의 것이라고 생각됩니다 (밤중에 값을 취득하면 최저 기온이 갱신되고 있는 모습이 보일지도 모릅니다).
{
"coord": {
"lon": 139.69, // 緯度
"lat": 35.69 // 経度
},
"weather": [
{
"id": 802, // API の天気コード
"main": "Clouds", // くもり
"description": "scattered clouds", // 千切れ雲 (?)
"icon": "03d" // 天気を表すアイコンのコード
}
],
"base": "stations", // 内部パラメータ
"main": {
"temp": 32.29, // 現在の気温
"feels_like": 37.25, // 現在の体感気温
"temp_min": 31.67, // 「現在の」最低気温
"temp_max": 33, // 「現在の」最高気温
"pressure": 1011, // 現在の気圧
"humidity": 63 // 現在の湿度
},
"visibility": 10000, // 視界 (m)
"wind": {
"speed": 1.5, // 風速
"deg": 100 // 風向 (北を基準に時計回り、この場合は東の風が吹いているということ)
},
"clouds": {
"all": 40 // 雲量 (%)
},
"dt": 1599020768, // タイムスタンプ
"sys": {
"type": 1, // 内部パラメータ
"id": 8077, // 内部パラメータ
"country": "JP", // 国コード
"sunrise": 1598991250, // 日の出のタイムスタンプ
"sunset": 1599037690 // 日の入りのタイムスタンプ
},
"timezone": 32400, // 世界標準時からの差 (秒)
"id": 1850144, // 都市 ID
"name": "Tokyo", // 都市名
"cod": 200 // レスポンスコード
}
일기 예보 보기
One Call API라는 것을 사용합니다.
아래는 도쿄의 매시간 날씨 예보를 표시하는 요청입니다.
# 緯度と経度を指定しなければならない
# 1 時間ごとの表示をするためには minutely,daily を表示しないというリクエストを送る必要がある
curl -s "https://api.openweathermap.org/data/2.5/onecall?lat=35.69&lon=139.69&exclude=minutely,daily&appid=${API_KEY}"
{
"lat": 35.69,
"lon": 139.69,
"timezone": "Asia/Tokyo",
"timezone_offset": 32400,
"current": {
"dt": 1599022984,
"sunrise": 1598991250,
"sunset": 1599037690,
"temp": 305.46,
"feels_like": 310.43,
"pressure": 1011,
"humidity": 63,
"dew_point": 297.51,
"uvi": 9.57,
"clouds": 40,
"visibility": 10000,
"wind_speed": 1.5,
"wind_deg": 100,
"weather": [
{
"id": 802,
"main": "Clouds",
"description": "scattered clouds",
"icon": "03d"
}
],
"rain": {}
},
"hourly": [
{
"dt": 1599022800,
"temp": 305.46,
"feels_like": 308.76,
"pressure": 1011,
"humidity": 63,
"dew_point": 297.51,
"clouds": 40,
"visibility": 10000,
"wind_speed": 3.89,
"wind_deg": 102,
"weather": [
{
"id": 500,
"main": "Rain",
"description": "light rain",
"icon": "10d"
}
],
"pop": 0.72,
"rain": {
"1h": 0.97
}
},
2020년 9월 2일 현재 무료 요금제로는 매시간 예보를 2일 전까지 표시할 수 있습니다.
사용해보십시오.
이번에 소개한 것은 단지 일부의 기능입니다.
무료 플랜에 의한 제한은 API 호출 횟수가 중심이며, 기본적으로는 상세한 데이터를 취득할 수 있습니다.
기회가 있으면 날씨에 관한 앱 등 작성 할 수 있으면 좋네요.
Reference
이 문제에 관하여(OpenWeather API를 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/noritakaIzumi/items/34f16e383f59f9c5d8cf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)