api 날씨 이거 코드 어떻게 만들어야하나요?
본문
api.openweathermap.org/data/2.5/forecast/city?id=524901&APPID=1111111111
api key 발급받아서 적용할려는데.. 어떻게 해야하는지 모르겠어요...
코드 좀 있으면 보내주시면 감사하겠습니다
이건 예전에 사용하던건데 안되서 위에있는 날씨정보로 바꿀려고하는거라서
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<?php
//*Copyright © HoneyMusic*
//*Yu-sung heon *
//**** 개인정보보호를 위한 이메일주소 노출방지 *** *
/* $url = "http://api.wunderground.com/api/3da28c0dbab2f4e7/geolookup/conditions/lang:EN/q/Korea/Seoul.json"; */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$return = curl_exec($ch);
curl_close($ch);
$json_string = $return;
$parsed_json = json_decode($json_string);
$location = $parsed_json->{'location'}->{'city'};
$temp_f = $parsed_json->{'current_observation'}->{'temp_f'};
$temp_c = $parsed_json->{'current_observation'}->{'temp_c'};
$uv = $parsed_json->{'current_observation'}->{'UV'};
$wind_kph = $parsed_json->{'current_observation'}->{'wind_kph'};
$weather = $parsed_json->{'current_observation'}->{'weather'};
$icon_url = $parsed_json->{'current_observation'}->{'icon_url'};
$api = "현재 날씨를 알려 드리겠습니다 $location 에는 섭씨$temp_f 도씨이며 온도 $temp_c 도씨입니다.현재날씨는 $weather 입니다. 풍속은 $wind_kph 입니다. 좋은 하루되십시요\n";
$apidata = "$location $temp_c ℃ $weather \n";
class TextToSpeech {
public $mp3data;
function __construct($text="") {
$text = trim($text);
if(!empty($text)) {
$text = urlencode($text);
$url = "http://translate.google.com/translate_tts?ie=utf-8&tl=ko&q=".$text;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$return = curl_exec($ch);
curl_close($ch);
$this->mp3data = $return;
}
}
function setText($text) {
$text = trim($text);
if(!empty($text)) {
$text = urlencode($text);
$url = "http://translate.google.com/translate_tts?ie=utf-8&tl=ko&q=".$text;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$return = curl_exec($ch);
curl_close($ch);
$this->mp3data = $return;
return $mp3data;
} else { return false; }
}
function saveToFile($filename) {
$filename = trim($filename);
if(!empty($filename)) {
return file_put_contents($filename,$this->mp3data);
} else { return false; }
}
}
$data=$api;
$tts = new TextToSpeech();
$tts->setText($data);
?>
<img src="<?=$icon_url;?>" height="45" ><? echo $apidata;
?>
답변 1
file_get_contents로 간편하게 가져오셔도 되구요, 사용하신 것처럼 CURL로 가져와도 됩니다.
그냥 해당 페이지를 긁어온 다음 json_decode로 풀어서 쓰시면 됩니다.