AJAX Search API

Komentarze

Transkrypt

AJAX Search API
Ajax Search API
Adam Kęsy
Co to takiego ?
• Biblioteka JavaScript zapewniająca programistyczny dostęp do
zasobów wyszukiwarki Google.
• Początkowo dostępne wyłącznie jako zestaw skryptów JavaScript.
• Obecnie Google AJAX Search API stosuje model REST. Pozwala to na
implementację wyszukiwarek zarówno w JavaScript/Ajax jak i po
stronie serwera (np. w PHP).
• Biblioteka Google Ajax Search API zastąpiła wycofane pod koniec
2006 roku rozwiązanie o nazwie Google SOAP Search API. Obecny
interfejs API wyszukiwarki Google jest dostępny pod dwoma
postaciami:
― biblioteka JavaScript
― zestaw adresów URL realizujących usługę w modelu REST
• Biblioteka JS pozwala na osadzenie wyszukiwarki WWW w kodzie
HTML, natomiast model REST udostępnia zasoby Google skryptom
przetwarzanym po stronie serwera (np. PHP, Perl).
REST (Representational state transfer)
• Wzorzec architektury oprogramowania dla takich systemów
jak Internet (World Wide Web).
• Jest to architektura klient-serwer.
Startujemy
• Usługi Google Ajax Search API są bezpłatne lecz wymagają
rejestracji i generowania kluczy.
• Po utworzeniu konta Google (lub korzystając np. z konta
Gmail) wchodzimy na stronę
http://code.google.com/apis/ajaxsearch/signup.html.
• W formularzu wprowadzamy adres URL aplikacji, która będzie
wykorzystywała Google API.
Generowanie klucza
Wygenerowany przykład
W przeglądarce
Ajax i JavaScript
• Wyszukiwarkę Ajaksową osadzamy w kodzie HTML w dwóch
miejscach:
― w nagłówku strony (tj. pomiędzy znacznikami <head></head>)
dodajemy skrypt JavaScript
― w treści strony (tj. pomiędzy znacznikami <body></body>)
dodajemy element div przeznaczony na wyszukiwarkę
• Pierwszy ze znaczników script za ustalenie klucza – podajemy
wygenerowany klucz.
Kod JS zawarty w drugim elemencie script
• google.load
• google.load(moduleName, moduleVersion, optionalSettings), allows you to call individual
APIs by version, where:
• moduleName is the name of the API (e.g., "maps" or "search").
• version specifies the version of the API module, as described below. You must always
specify the version of the API you are using. If you are unsure which version you want to
use, use the version stated in the in the documentation for each API.
• optionalSettings specifies all optional configuration options for the API you are loading as a
JavaScript object literal. Different APIs have different options as listed in available APIs. The
possible properties are:
• callback: The function to call once the script has loaded. If using the Auto-loading feature, this
must specify a function name, not a function reference.
• language: The language in which to localize the API's UI controls. This is specified as a ISO639
language code.
• nocss: A boolean that tells the API whether to load any style sheets typically associated with
its controls. If you don't intend to use the default CSS, you can reduce the load time by setting
this to true. The default setting is false.
• packages: An array of strings specifying related packages to be read in along with the core API.
For example, you could load "piechart" and "table" along with the Visualization API.
• base_domain: The base domain from which to load the API. For example, you could load from
"ditu.google.cn" with the "maps" module to get the Chinese version of the Maps API.
• other_params: Specific parameters supported by a particular API (and usually very specific to
the API). An alternative to passing in a parameter via a <script> tag.
Search Control
• Główny obiekt Google Web Search API koordynujący
wyszukiwanie z wielu różnych serwisów, z których możemy
wyróżnid:
― LocalSearch
― WebSearch
― VideoSearch
― BlogSearch
― NewsSearch
― ImageSearch
― PatentSearch
― BookSearch(experymentalny)
Search Control – dodawanie wyszukiwarek
// Tworzymy search control
var searchControl = new google.search.SearchControl();
// Dodajemy wyszukiwarki
var localSearch = new google.search.LocalSearch();
searchControl.addSearcher(localSearch);
searchControl.addSearcher(new google.search.WebSearch());
searchControl.addSearcher(new google.search.VideoSearch());
searchControl.addSearcher(new google.search.BlogSearch());
Search Control - kończymy
// Ustawiamy swoją lokalizację
localSearch.setCenterPoint("New York, NY");
// Rysujemy wyszukiwarkę wskazując, pod jaki element strony ma się
podczepid
searchControl.draw(document.getElementById("searchcontrol"));
// Zaczynamy wyszukiwanie
searchControl.execute("Google");
}
// Ustalamy funkcję, która ma się wykonad, gdy dokument się załaduje
google.setOnLoadCallback(OnLoad);
Modyfikacja wyglądu
• Wygląd wyszukiwarki oraz wyników wyszukiwania
modyfikujemy stylami CSS. Umożliwiają to liczne klasy zawarte
w kodzie HTML, zwracanym przez Google. Najważniejszymi są:
―.gsc-search-box — formularz wyszukiwania
―.gsc-resultsHeader — nagłówek z ikonami
―.gsc-result — pojedynczy wynik wyszukiwania
―.gsc-cursor-box — wskaźnik stronicowania wyników
―.gs-title — tytuł wyniku
―.gs-snippet — opis wyniku
―.gs-visibleUrl — adres URL wyniku
Modyfikacja wyglądu
Modyfikacja wyglądu – po zastosowaniu CSS
Informacje o wykorzystaniu technologii Google
• Licencja użytkownika usług Google AJAX Search API nakazuje
umieszczenie loga Google na każdej stronie stosującej API.
Zadanie to wykorzystujemy wywołując metodę getBranding().
Usługa REST
• Google AJAX Search API pozwala na przeszukiwanie zasobów
wyszukiwarki Google nie tylko w JavaScript, ale także w
skryptach wykonywanych po stronie serwera, a więc w PHP,
Perlu, Ruby czy Pythonie.
• Wyszukiwanie w sieci WWW realizuje skrypt o adresie:
http://ajax.googleapis.com/ajax/services/search/web
Ma on dwa obowiązkowe parametry:
― v - wersja oprogramowania (obecny interfejs Google AJAX Search API
jest opatrzony numerem wersji 1.0)
― q - wyszukiwana fraza.
• http://ajax.googleapis.com/ajax/services/search/web?v=1.0&
q=manamana
zwróci wyniki wyszukiwania słowa „manamana” w formacie JSON.
JSON
• JSON, JavaScript Object Notation – format wymiany danych
komputerowych. JSON jest formatem tekstowym, będącym
podzbiorem języka JavaScript.
• JSON jest jednym z nieformalnych sposobów przekazywania
danych do aplikacji opartych o AJAX. W typowych przypadkach
dane w formacie JSON są pobierane z serwera jako tekst przy
wykorzystaniu obiektu XMLHttpRequest języka JavaScript, a
następnie przekształcane w obiekt.

Podobne dokumenty