chatwork에서 날씨 예보 【chatwork API】
내일 맑을까
매일 밤 내일 날씨를 알려주면 편리하다고 생각해…
livedoor 날씨 API 사양
(예) 「후쿠오카현・쿠루메의 날씨」를 취득하는 경우
아래 URL로 이동하여 JSON 데이터를 검색합니다.
기본 URL + 쿠루메의 ID(400040)
ぇ tp // 우아아테 r. 아오오오 r. 코 m/후우레카 st/우ぇb세rゔぃ세/j 그런/v1? ty = 400040
php로 chatwork에 게시
chatwork<?php
$cityid = 取得したい地区のID;
$url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city='.$cityid.'';
$json = file_get_contents($url, true);
$json = json_decode($json, true);
// Public
$title = $json['title'];
$description = $json['description']['text'];
$publicTime = $json['publicTime'];
$copyright = $json['copyright']['title'];
$copyrightLink = 'http://weather.livedoor.com/area/forecast/';
//$json['copyright']['link']
// Location
$city = $json['location']['city'];
$area = $json['location']['area'];
$prefecture = $json['location']['prefecture'];
$link = $json['link'];
$pinpoint = $json['pinpointLocations'];
//forecasts
foreach ($json['forecasts'] as $entry) {
$dateLabel = $entry['dateLabel'];
$telop = $entry['telop'];
$date = $entry['date'];
$min = $entry['temperature']['min'];
$max = $entry['temperature']['max'];
$mincelsius = $entry['temperature']['min']["celsius"];
$minfahrenheit = $entry['temperature']['min']["fahrenheit"];
$maxcelsius = $entry['temperature']['max']["celsius"];
$maxfahrenheit = $entry['temperature']['max']["fahrenheit"];
$image = $entry['image']["url"];
// NULL
if (!isset($min)) { $mincelsius = "--"; }
if (!isset($max)) { $maxcelsius = "--"; }
if (!isset($celsius)) { $min = "--"; }
if (!isset($fahrenheit)) { $min = "--"; }
}
$forecasts = $json['forecasts'];
$body = "";
$body .= "[info][title]明日".$forecasts[1]['date']."のお天気[/title]".
"明日は『".$forecasts[1]['telop']."』\n".
"最高気温".$forecasts[1]['temperature']['max']["celsius"]."℃\n".
"最低気温".$forecasts[1]['temperature']['min']["celsius"]."℃\n".
"©".$copyrightLink;
"[/info]"."\n".
$option = array('body' => $body);
$ch = curl_init();
/*表示させたいチャットのルームID*/
$room_id = 000000;
curl_setopt($ch, CURLOPT_URL, 'https://api.chatwork.com/v1/rooms/'.$room_id.'/messages');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-ChatWorkToken:チャットワークのAPIキー'));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($option, '', '&'));
$response = curl_exec($ch);
curl_close($ch);
cron으로 매일 밤 정시에 PHP를 시작
렌탈 서버라면 컴파네에서 간단하게 설정할 수 있습니다.
사쿠라 서버로 할 수있었습니다.
이미지
참고 사이트
날씨 정보 API Weather Hacks를 PHP에서 사용해 보았습니다.
webrawl님, Livedoor 날씨 부분 박등 참고로 했습니다.
Reference
이 문제에 관하여(chatwork에서 날씨 예보 【chatwork API】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bassen/items/bc864f1ae6918e9290a1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
(예) 「후쿠오카현・쿠루메의 날씨」를 취득하는 경우
아래 URL로 이동하여 JSON 데이터를 검색합니다.
기본 URL + 쿠루메의 ID(400040)
ぇ tp // 우아아테 r. 아오오오 r. 코 m/후우레카 st/우ぇb세rゔぃ세/j 그런/v1? ty = 400040
php로 chatwork에 게시
chatwork<?php
$cityid = 取得したい地区のID;
$url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city='.$cityid.'';
$json = file_get_contents($url, true);
$json = json_decode($json, true);
// Public
$title = $json['title'];
$description = $json['description']['text'];
$publicTime = $json['publicTime'];
$copyright = $json['copyright']['title'];
$copyrightLink = 'http://weather.livedoor.com/area/forecast/';
//$json['copyright']['link']
// Location
$city = $json['location']['city'];
$area = $json['location']['area'];
$prefecture = $json['location']['prefecture'];
$link = $json['link'];
$pinpoint = $json['pinpointLocations'];
//forecasts
foreach ($json['forecasts'] as $entry) {
$dateLabel = $entry['dateLabel'];
$telop = $entry['telop'];
$date = $entry['date'];
$min = $entry['temperature']['min'];
$max = $entry['temperature']['max'];
$mincelsius = $entry['temperature']['min']["celsius"];
$minfahrenheit = $entry['temperature']['min']["fahrenheit"];
$maxcelsius = $entry['temperature']['max']["celsius"];
$maxfahrenheit = $entry['temperature']['max']["fahrenheit"];
$image = $entry['image']["url"];
// NULL
if (!isset($min)) { $mincelsius = "--"; }
if (!isset($max)) { $maxcelsius = "--"; }
if (!isset($celsius)) { $min = "--"; }
if (!isset($fahrenheit)) { $min = "--"; }
}
$forecasts = $json['forecasts'];
$body = "";
$body .= "[info][title]明日".$forecasts[1]['date']."のお天気[/title]".
"明日は『".$forecasts[1]['telop']."』\n".
"最高気温".$forecasts[1]['temperature']['max']["celsius"]."℃\n".
"最低気温".$forecasts[1]['temperature']['min']["celsius"]."℃\n".
"©".$copyrightLink;
"[/info]"."\n".
$option = array('body' => $body);
$ch = curl_init();
/*表示させたいチャットのルームID*/
$room_id = 000000;
curl_setopt($ch, CURLOPT_URL, 'https://api.chatwork.com/v1/rooms/'.$room_id.'/messages');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-ChatWorkToken:チャットワークのAPIキー'));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($option, '', '&'));
$response = curl_exec($ch);
curl_close($ch);
cron으로 매일 밤 정시에 PHP를 시작
렌탈 서버라면 컴파네에서 간단하게 설정할 수 있습니다.
사쿠라 서버로 할 수있었습니다.
이미지
참고 사이트
날씨 정보 API Weather Hacks를 PHP에서 사용해 보았습니다.
webrawl님, Livedoor 날씨 부분 박등 참고로 했습니다.
Reference
이 문제에 관하여(chatwork에서 날씨 예보 【chatwork API】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bassen/items/bc864f1ae6918e9290a1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?php
$cityid = 取得したい地区のID;
$url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city='.$cityid.'';
$json = file_get_contents($url, true);
$json = json_decode($json, true);
// Public
$title = $json['title'];
$description = $json['description']['text'];
$publicTime = $json['publicTime'];
$copyright = $json['copyright']['title'];
$copyrightLink = 'http://weather.livedoor.com/area/forecast/';
//$json['copyright']['link']
// Location
$city = $json['location']['city'];
$area = $json['location']['area'];
$prefecture = $json['location']['prefecture'];
$link = $json['link'];
$pinpoint = $json['pinpointLocations'];
//forecasts
foreach ($json['forecasts'] as $entry) {
$dateLabel = $entry['dateLabel'];
$telop = $entry['telop'];
$date = $entry['date'];
$min = $entry['temperature']['min'];
$max = $entry['temperature']['max'];
$mincelsius = $entry['temperature']['min']["celsius"];
$minfahrenheit = $entry['temperature']['min']["fahrenheit"];
$maxcelsius = $entry['temperature']['max']["celsius"];
$maxfahrenheit = $entry['temperature']['max']["fahrenheit"];
$image = $entry['image']["url"];
// NULL
if (!isset($min)) { $mincelsius = "--"; }
if (!isset($max)) { $maxcelsius = "--"; }
if (!isset($celsius)) { $min = "--"; }
if (!isset($fahrenheit)) { $min = "--"; }
}
$forecasts = $json['forecasts'];
$body = "";
$body .= "[info][title]明日".$forecasts[1]['date']."のお天気[/title]".
"明日は『".$forecasts[1]['telop']."』\n".
"最高気温".$forecasts[1]['temperature']['max']["celsius"]."℃\n".
"最低気温".$forecasts[1]['temperature']['min']["celsius"]."℃\n".
"©".$copyrightLink;
"[/info]"."\n".
$option = array('body' => $body);
$ch = curl_init();
/*表示させたいチャットのルームID*/
$room_id = 000000;
curl_setopt($ch, CURLOPT_URL, 'https://api.chatwork.com/v1/rooms/'.$room_id.'/messages');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-ChatWorkToken:チャットワークのAPIキー'));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($option, '', '&'));
$response = curl_exec($ch);
curl_close($ch);
렌탈 서버라면 컴파네에서 간단하게 설정할 수 있습니다.
사쿠라 서버로 할 수있었습니다.
이미지
참고 사이트
날씨 정보 API Weather Hacks를 PHP에서 사용해 보았습니다.
webrawl님, Livedoor 날씨 부분 박등 참고로 했습니다.
Reference
이 문제에 관하여(chatwork에서 날씨 예보 【chatwork API】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bassen/items/bc864f1ae6918e9290a1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
날씨 정보 API Weather Hacks를 PHP에서 사용해 보았습니다.
webrawl님, Livedoor 날씨 부분 박등 참고로 했습니다.
Reference
이 문제에 관하여(chatwork에서 날씨 예보 【chatwork API】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bassen/items/bc864f1ae6918e9290a1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)