Man kann damit in verschiedenen Scriptsprachen wie z.B. Python, Perl, JRuby, Lua, BeanShell etc., einfache Programme erstellen.
Leider besitze ich kein Androide Smartphone ( G1. HTC Magic) um mir das in der Praxis anzuschauen.
Ich habe mir jedoch mal ein Beispielscript in Python angeschaut.
Passenderweise ein Script um mit der Google Weather API, Wetterdaten abzurufen ;-).
Mit dem Android Smartphone kann man ja auch direkt mit Google Docs arbeiten, deswegen möchte ich den simplen Abruf von Wetterinformation zwischen ASE und meiner Variante - die ich mit Google Docs erstellt habe - zum Vergleich kurz gegenüberstellen.
So sieht das Script aus:
"""Retrieve the weather report for the current location."""
__author__ = 'T.V. Raman
__copyright__ = 'Copyright (c) 2009, Google Inc.'
__license__ = 'Apache License, Version 2.0'
import string
import urllib
import urllib2
from xml.dom import minidom
WEATHER_URL = 'http://www.google.com/ig/api?weather=%s&hl=%s'
def extract_value(dom, parent, child):
"""Convenience function to dig out weather values."""
return dom.getElementsByTagName(parent)[0].getElementsByTagName(child)[0].getAttribute('data')
def fetch_weather(location, hl=''):
"""Fetches weather report from Google
Args:
location: a zip code (94041); city name, state (weather=Mountain View,CA);...
hl: the language parameter (language code)
Returns:
a dict of weather data.
"""
url = WEATHER_URL % (urllib.quote(location), hl)
handler = urllib2.urlopen(url)
data = handler.read()
dom = minidom.parseString(data)
handler.close()
data = {}
weather_dom = dom.getElementsByTagName('weather')[0]
data['city'] = extract_value(weather_dom, 'forecast_information','city')
data['temperature'] = extract_value(weather_dom, 'current_conditions','temp_f')
data['conditions'] = extract_value(weather_dom, 'current_conditions', 'condition')
dom.unlink()
return data
Das Script ermittelt: den Städtenamen, die aktuelle Temperatur und die Wetterbedingungen.
Und so sieht meine Variante mit Google Docs und der ImportXML-Funktion aus:
den Städtenamen gebe ich in die Spalte A2 ein (muss ich nicht extra nochmals auslesen)
Rückgabe der aktuellen Temperatur:
=ImportXML("http://www.google.de/ig/api?weather="&SUBSTITUTE( TRIM(A2) ; " ";"+");"//xml_api_reply/weather/current_conditions/temp_c/@data")
Rückgabe der aktuellen Wetterbedingungen:
=ImportXML("http://www.google.de/ig/api?weather="&SUBSTITUTE( TRIM(A2) ; " ";"+");"//xml_api_reply/weather/current_conditions/condition/@data")
Mit ASE kann man selbstverständlich wesentlich mehr realisieren.
Aber, mir steht das neue Javascript für Google Docs /Apps in der Standard-Docs-Edition leider nicht zur Verfügung.
Fast vergessen. Grundsätzlich geht es mit Google Text und Tabellen sogar noch schneller und einfacher:
=GoogleLookup("Berlin";"temperature")
Ist mir leider nicht zuverlässig genug und liefert mir auch nicht gezielt das was ich haben möchte.
0 Kommentar(e) zum Beitrag:
Kommentar veröffentlichen
Kommentare bitte fair und im rechtlich erlaubten Rahmen verfassen!
Die Kommentare und ggf. hinterlassene URLs werden von mir überprüft. Kommentare die für blaue Pillchen, Glücksspiele, bestimmte Bilder/Videos, Abzocker-Dienste usw. werben, werden gelöscht.
Kommentare von SEO-Link-Builder sind ebenso unerwünscht!
In den Kommentare können die HTML-Tags für:
kursiv = <i>Testwort</i>
fett = <b>Testwort</b>
Links = <a href="http://www.deineURL.de/">Link Text</a>
genutzt werden. Einfach die o.g. Beispiele kopieren und mit den eigenen Werten ersetzen.