REBOL [
Title: "Forecast API"
Date: 2-May-2013
Author: "Christopher Ross-Gill"
Settings: [
Api-Key: <api-key-goes-here>
; or: do/args http://reb4.me/r/forecast [api-key: <api-key-goes-here>]
]
Notes: [
Api-Docs: https://developer.forecast.io/docs/v2
]
]
do http://reb4.me/r/curl
do http://reb4.me/r/altjson
; do http://reb4.me/r/altwebform ; for params (to follow)
forecast: use [settings target timestamp][
settings: make context [api-key: none] any [
system/script/args
system/script/header/settings
]
timestamp: func [/for date [date!]][
date: any [date now]
date: form any [
attempt [to integer! difference date 1-Jan-1970/0:0:0]
date - 1-Jan-1970/0:0:0 * 86400.0
]
clear find/last date "."
date
]
target: dirize join https://api.forecast.io/forecast/ settings/api-key
forecast: func [
latitude [number!]
longitude [number!]
/at time [date! time!]
][
load-json curl join target either at [
if time? time [
at: now
if at/time > time [at: at + 1]
at/time: time
time: :at
]
[latitude "," longitude "," timestamp time]
][[latitude "," longitude]]
]
]