Стефани Лю, команда API данных Google
сентябрь 2007 г.- Введение
- Установка зависимостей
- В Windows
- В Mac OS X
- В Linux
- Установка клиентской библиотеки данных Google
- Запуск образцов
- Создание собственных приложений
- Заключение
- Приложение: установка переменных среды
Введение
Никогда не бывает легко начать разработку с незнакомым API, поэтому в этой статье приведены пошаговые инструкции по загрузке и установке клиентской библиотеки Java для API данных Google ("GData"). Я пройдусь по получению всех зависимостей и настройке переменных среды, которые вам понадобятся. Вы будете смешивать различные сервисы GData в кратчайшие сроки!
Используете Эклипс?
Ознакомьтесь со статьей Coding in the Shade: Использование Eclipse с API данных Google .
Установка зависимостей
Клиентская библиотека GData Java имеет следующие внешние зависимости. В следующих разделах будет описано, как установить эти зависимости на вашу любимую операционную систему (или ОС, с которой вы застряли на работе).
- JDK (комплект для разработки Java) версии 1.5+
- Apache Ant версии 1.7+
- mail.jar в Sun JavaMail API 1.4+
- activation.jar в Sun JavaBeansActivationFramework. Это требуется только для определенных API-интерфейсов мультимедиа, включая API данных списка документов, API веб-альбомов Picasa и API данных YouTube.
- servlet.jar в Sun Servlet API версии 2.3+. Это требуется только при выполнении образцов кода в пакетах «sample.authsub» или «sample.gbase.recipe».
Некоторые из зависимостей .jar
требуются только для определенных образцов, но, чтобы избежать ошибок сборки, лучше просто получить все. Чтобы продолжить, выберите предпочитаемую операционную систему: Windows , Mac OS X или Linux .
В Windows
Инструкции для операционной системы Windows.
Установка Java
Пакет разработки Java доступен от Sun в форме JDK (Java Development Kit). JRE (Java Runtime Environment) и все остальное, что вам нужно для написания, компиляции, тестирования и отладки Java-приложений, содержится внутри. Если у вас уже установлена Java, перейдите к установке Ant .
Примечание. Для установки JDK необходимы права администратора.
- Посетите http://java.sun.com/javase/downloads/index.jsp
- Нажмите «Загрузить» рядом с последним обновлением.
- Прочтите и примите Лицензионное соглашение.
- Загрузите один из файлов установки Windows.
- Запустите установщик.
- Отредактируйте переменную среды
Path
, чтобы легко запускать исполняемые файлы JDK, такие как javac
. Путь, который вы хотите добавить, будет выглядеть примерно так C:\jdk\bin\
. Инструкции по редактированию переменной Path
в Windows см. в приложении .
Если у вас возникли проблемы с установкой JDK, ознакомьтесь с подробными инструкциями по установке на веб-сайте Sun.
Установка Муравей
Apache Ant — это инструмент сборки для Java, похожий на make
(но лучше). Вы будете использовать его для создания библиотеки и выполнения примеров. Если у вас уже установлен Ant, убедитесь, что это версия 1.7 или выше.
- Нажмите меню «Пуск», а затем «Выполнить».
- Введите
cmd
в текстовое поле. - Введите
ant -version
в приглашение, чтобы узнать, какая у вас версия.
Если у вас 1.7+, перейдите к получению mail.jar
. Если ваша версия Ant ниже 1.7 или она не установлена, выполните следующие действия.
- Посетите http://ant.apache.org/bindownload.cgi
- Нажмите на ссылку для скачивания
.zip
. - Извлеките все файлы в папку по вашему выбору, например,
C:\ant
- Добавьте каталог ant
bin
, например C:\ant\bin
в переменную среды Path
. - Добавьте или отредактируйте переменную среды
ANT_HOME
, чтобы установить ее в качестве нового местоположения, например, C:\ant
- Добавьте или отредактируйте переменную среды
JAVA_HOME
там, где установлена Java, например C:\jdk
.
Вы можете найти подробные инструкции по установке на веб-сайте Ant, если у вас возникнут какие-либо проблемы.
Получение mail.jar
JavaMail API включен для поддержки мультимедиа.
- Посетите http://java.sun.com/products/javamail/downloads/index.html .
- Нажмите кнопку «Загрузить». Убедитесь, что вы загружаете версию 1.4 или выше.
- Прочтите и примите Лицензионное соглашение.
- Щелкните ссылку
.zip
файла, содержащего JavaMail. - Извлеките файлы на свой компьютер и запомните расположение.
mail.jar
будет находиться в корневом каталоге, javamail-(version)
Получение активации.jar
Платформа активации JavaBeans включена для поддержки мультимедиа.
- Посетите страницу загрузки JAF .
- Нажмите кнопку «Загрузить».
- Прочтите и примите Лицензионное соглашение.
- Щелкните ссылку
.zip
файла, содержащего Activation Framework. - Извлеките файлы на свой компьютер и запомните расположение.
activation.jar
будет находиться в корневом каталоге, jaf-(version)
Получение servlet.jar
servlet.jar
(его можно назвать servlet-api.jar
) можно найти в контейнере сервлетов (J2EE, Tomcat, WebLogic и т. д.). Он используется для образцов AuthSub и Google Base. Следующие инструкции помогут вам получить Tomcat 6.x.
- Посетите http://tomcat.apache.org/download-60.cgi .
- Нажмите на загрузку установщика службы Windows в разделе «Основные двоичные дистрибутивы».
- Запустите установщик.
- Если вы оставили значение по умолчанию,
servlet-api.jar
должен находиться в C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib
Дополнительную документацию по настройке и установке Tomcat можно найти здесь .
Уф, хорошо, теперь вы готовы установить клиентскую библиотеку GData Java .
В Mac OS X
Инструкции для операционной системы Mac OS X.
Установка Java
Если вы используете Mac OS X, у вас меньше работы! Apple включает полностью настроенный и готовый к использованию JDK (комплект для разработки Java) с каждым экземпляром. Посетите сайт Apple Java для получения дополнительной информации.
Установка Муравей
Apache Ant — это инструмент сборки для Java, похожий на make
(но лучше). Вы будете использовать его для создания библиотеки и выполнения примеров. Вероятно, у вас уже установлен Ant, но убедитесь, что у вас установлена версия 1.7+.
- Откройте окно терминала. (Command + пробел, затем введите «Терминал», чтобы найти приложение)
- В командной строке введите:
ant -version
Если версия ant, которую вы используете, ниже 1.7, выполните следующие действия, чтобы получить последнюю версию.
- Посетите http://ant.apache.org/bindownload.cgi
- Нажмите на ссылку для скачивания
.zip
. - Откройте окно терминала. (Command + пробел, затем введите «Терминал», чтобы найти приложение)
- В командной строке введите следующее:
-
cd ~/Desktop
-
sudo sh
-
mv apache-ant-(version)-bin.zip /usr/local/
-
cd /usr/local/
-
unzip apache-ant-(version)-bin.zip
-
chown (your account name):(your account name) apache-ant-(version)
-
ln -s apache-ant-(version) ant
Вы можете найти подробные инструкции по установке на веб-сайте Ant, если у вас возникнут какие-либо проблемы. В этом сообщении в блоге также есть подробное объяснение того, что означают приведенные выше команды оболочки.
Получение mail.jar
JavaMail API включен для поддержки мультимедиа.
- Посетите http://java.sun.com/products/javamail/downloads/index.html .
- Нажмите кнопку «Загрузить». Убедитесь, что вы загружаете версию 1.4 или выше.
- Прочтите и примите Лицензионное соглашение.
- Щелкните ссылку
.zip
файла, содержащего JavaMail. - Извлеките файлы на свой компьютер и запомните расположение.
mail.jar
будет находиться в корневом каталоге, javamail-(version)
Получение активации.jar
Платформа активации JavaBeans включена для поддержки мультимедиа.
- Посетите страницу загрузки JAF .
- Нажмите кнопку «Загрузить».
- Прочтите и примите Лицензионное соглашение.
- Щелкните ссылку
.zip
файла, содержащего Activation Framework. - Извлеките файлы на свой компьютер и запомните расположение.
activation.jar
будет находиться в корневом каталоге, jaf-(version)
Получение servlet.jar
servlet.jar
(его можно назвать servlet-api.jar
) можно найти в контейнере сервлетов (J2EE, Tomcat, WebLogic и т. д.). Он используется для образцов AuthSub и Google Base. Следующие инструкции помогут вам получить Tomcat 6.x.
- Посетите http://tomcat.apache.org/download-60.cgi .
- Нажмите на загрузку
.zip
в разделе «Основные двоичные дистрибутивы». - Извлеките файлы на свой компьютер и запомните расположение.
servlet.jar
можно найти в apache-tomcat-(version)/lib
Дополнительную документацию по настройке и установке Tomcat можно найти здесь .
Уф, хорошо, теперь вы готовы установить клиентскую библиотеку GData Java .
В Linux
Инструкции для операционной системы Linux.
Установка Java
В этом руководстве будет использоваться Sun JDK (Java Development Kit). Если у вас есть root-доступ, следуйте приведенным ниже инструкциям. Если нет, вы можете просто установить JDK в свой домашний каталог, следуя этим инструкциям . Если у вас уже установлен JDK 1.5+, перейдите к разделу Установка Ant .
Если у вас есть root-права:
- Посетите http://java.sun.com/javase/downloads/index.jsp
- Нажмите «Загрузить» рядом с последней версией.
- Прочтите и примите Лицензионное соглашение.
- Нажмите и загрузите самораспаковывающийся файл RPM в разделе «Платформа Linux».
- Откройте окно терминала, перейдите в каталог, в который вы скачали файл, и выполните следующие действия:
-
su
-
chmod a+x jdk-6(version)-linux-i586-rpm.bin
-
./jdk-6(version)-linux-i586-rpm.bin
- Согласитесь с лицензионным соглашением.
Если у вас нет root-прав:
- Посетите http://java.sun.com/javase/downloads/index.jsp
- Нажмите «Загрузить» рядом с последней версией.
- Прочтите и примите Лицензионное соглашение.
- Нажмите и загрузите самораспаковывающуюся сборку (не RPM) в разделе «Платформа Linux».
- Откройте окно терминала, перейдите в каталог, в который вы загрузили файл, и введите следующие команды:
-
chmod +x jdk-6(version)-linux-i586-rpm.bin
- Перейдите в каталог, в который вы хотите установить файл.
- Запустите самораспаковывающийся двоичный файл. Если вы устанавливаете его в текущий каталог, вам нужно просто ввести
./jdk-6(version)-linux-i586-rpm.bin
- Согласитесь с лицензионным соглашением.
Если у вас возникнут проблемы, более подробную инструкцию по установке можно найти здесь .
Установка Муравей
Для клиентской библиотеки GData Java требуется Ant 1.7 или выше. Если у вас уже установлен Ant, проверьте версию, введя ant -version
в командной строке. Если вам нужно получить последнюю версию или если она у вас не установлена, следуйте приведенным ниже инструкциям. Перейдите к получению mail.jar
, если ваши установки Java и Ant уже настроены.
- Посетите http://ant.apache.org/bindownload.cgi
- Щелкните ссылку для скачивания файла
.tar.gz
. - Извлеките файлы, открыв окно терминала, перейдя в каталог с загруженным файлом и введя следующие команды:
-
gunzip apache-ant-(version)-bin.tar.gz
-
tar xvf apache-ant-(version)-bin.tar
- Добавьте каталог ant
bin
в переменную среды PATH
. - Добавьте или отредактируйте переменную среды
ANT_HOME
, чтобы установить ее в качестве нового местоположения. - Добавьте или отредактируйте переменную среды
JAVA_HOME
, чтобы установить ее в качестве места установки JDK.
Подробную документацию по установке Ant можно найти здесь , если у вас возникнут какие-либо проблемы.
Получение mail.jar
JavaMail API включен для поддержки мультимедиа.
- Посетите http://java.sun.com/products/javamail/downloads/index.html .
- Нажмите кнопку «Загрузить». Убедитесь, что вы загружаете версию 1.4 или выше.
- Прочтите и примите Лицензионное соглашение.
- Щелкните ссылку
.zip
файла, содержащего JavaMail. -
unzip
файлы на свой компьютер и запомните расположение. mail.jar
будет находиться в корневом каталоге, javamail-(version)
Получение активации.jar
Платформа активации JavaBeans включена для поддержки мультимедиа.
- Посетите страницу загрузки JAF .
- Нажмите кнопку «Загрузить».
- Прочтите и примите Лицензионное соглашение.
- Щелкните ссылку
.zip
файла, содержащего Activation Framework. -
unzip
файлы на свой компьютер и запомните расположение. activation.jar
будет находиться в корневом каталоге, jaf-(version)
Получение servlet.jar
servlet.jar
(его можно назвать servlet-api.jar
) можно найти в контейнере сервлетов (J2EE, Tomcat, WebLogic и т. д.). Он используется для образцов AuthSub и Google Base. Следующие инструкции помогут вам получить Tomcat 6.x.
- Посетите http://tomcat.apache.org/download-60.cgi .
- Загрузите файл
.tar.gz
в разделе Основные двоичные дистрибутивы. - Распакуйте загрузку с помощью
gunzip
и tar
, как показано в разделе «Установка Ant» выше. -
servlet.jar
можно найти в apache-tomcat-(version)/lib
Теперь у вас должно быть все необходимое для получения клиентской библиотеки GData Java!
Установка клиентской библиотеки данных Google
- Посетите http://code.google.com/p/gdata-java-client/downloads/list .
- Загрузите последнюю версию клиентской библиотеки (
gdata-src.java-1.xxjava.zip
) и примеры ( gdata-samples.java-1.xxjava.zip
). - Извлеките исходный код клиентской библиотеки на свой компьютер.
- Перейдите к
gdata/java/build-src/build.properties
и откройте файл. - Отредактируйте внешние зависимости, чтобы они указывали на расположение файлов
.jar
на вашем локальном компьютере. Примечание. В Windows обязательно избегайте обратной косой черты. Например,
servlet.jar=C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\lib\\servlet-api.jar
Запуск образцов
Все доступные образцы находятся в gdata/java/sample
из архива gdata-samples.java-1.xxjava.zip
. Файл gdata/java/build-samples/build.properties
содержит все входные значения для примеров, содержащихся в библиотеке. Задайте для sample.credentials.username
и sample.credentials.password
допустимые имя пользователя и пароль. Мы можем использовать Ant как для сборки, так и для выполнения примеров.
Проверьте, все ли вы установили правильно, открыв командную строку, перейдя в каталог gdata/java
и набрав:
ant -f build-samples.xml sample.calendar.run
Вы можете получить некоторую информацию или предупреждающие сообщения, но просто ищите сообщение BUILD SUCCESSFUL
в конце! См. раздел об устранении неполадок , если вы не получили сообщение об успешном завершении.
Попробуйте более интерактивный образец, набрав:
ant -f build-samples.xml sample.spreadsheet.guidemo.run
Чтобы узнать, как запустить конкретный пример, перейдите в gdata/java/build-samples
и проверьте файл сборки для этого примера. Найдите раздел samples run
.
Поиск неисправностей
Если ваша сборка завершается с ошибкой, например,
BUILD FAILED
Target 'core.sample.core.util.build' does not exist in this project. It is used from target 'sample.calendar.build'.
Total time: 0 seconds
или аналогичное сообщение об ошибке об отсутствии важного файла в проекте, возможно, вы используете более старую версию Ant. Введите ant -version
, чтобы убедиться, что вы используете версию 1.7 или выше. Обратитесь к приведенным выше инструкциям по зависимостям , чтобы получить последнюю версию Ant.
Создание собственных приложений
Следующий вопрос заключается в том, как создать собственное приложение. Я пройду через "Hello, World!" эквивалентная программа, использующая службу календаря для демонстрации основных функций. Более подробную информацию можно найти в руководстве разработчика клиентской библиотеки Java, а также в руководствах разработчиков отдельных продуктов.
Создайте файл с именем CalendarTest.java. Начните с включения следующих операторов импорта.
import com.google.gdata.client.*;
import com.google.gdata.client.calendar.*;
import com.google.gdata.data.*;
import com.google.gdata.data.acl.*;
import com.google.gdata.data.calendar.*;
import com.google.gdata.data.extensions.*;
import com.google.gdata.util.*;
import java.net.*;
import java.io.*;
import sample.util.*;
Вот вся программа (без обработки исключений).
public class CalendarTest {
public static void main(String[] args) {
CalendarService myService = new CalendarService("exampleCo-exampleApp-1.0");
myService.setUserCredentials("root@gmail.com", "pa$$word");
URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");
CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);
System.out.println("Your calendars:");
System.out.println();
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
CalendarEntry entry = resultFeed.getEntries().get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
}
}
This little program will request all the calendars you own and display all the titles. It's a little longer than the canonical "Hello, World!" example, but it's very simple once we break it down. The first couple of lines creates a service object and sets the user credentials.
CalendarService myService = new CalendarService("exampleCo-exampleApp-1.0");
myService.setUserCredentials("root@gmail.com", "pa$$word");
Затем устанавливается URL-адрес ресурса. В этом случае здесь вы можете запросить список всех календарей у аутентифицированного пользователя.
URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");
Строка ниже выполнит фактическую команду GET
для URL-адреса и поместит полученный фид в аккуратный объект.
CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);
Цикл for
ниже будет перебирать каждую запись и печатать заголовок. Обратите внимание, что заголовок хранится как TextConstruct
, поэтому для получения обычного текста требуется дополнительный вызов функции.
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
CalendarEntry entry = resultFeed.getEntries().get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
Это было довольно просто — давайте рассмотрим несколько других общих вещей. Следующий фрагмент покажет вам, как создать объект и вставить его. В нашем примере это будет новая запись о событии календаря.
URL postURL = new URL("http://www.google.com/calendar/feeds/root@gmail.com/private/full");
CalendarEventEntry myEvent = new CalendarEventEntry();
//Set the title and description
myEvent.setTitle(new PlainTextConstruct("Pi Day Party"));
myEvent.setContent(new PlainTextConstruct("I am throwing a Pi Day Party!"));
//Create DateTime events and create a When object to hold them, then add
//the When event to the event
DateTime startTime = DateTime.parseDateTime("2007-03-14T15:00:00-08:00");
DateTime endTime = DateTime.parseDateTime("2007-03-14T17:00:00-08:00");
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEvent.addTime(eventTimes);
// POST the request and receive the response:
CalendarEventEntry insertedEntry = myService.insert(postURL, myEvent);
Другой распространенной операцией является построение запроса.
//Create a new query object and set the parameters
Query myQuery = new Query(feedURL);
myQuery.setFullTextQuery("Pi");
//Send the request with the built query URL
CalendarEventFeed myResultsFeed = myService.query(myQuery, CalendarEventFeed.class);
//Take the first match and print the title
if (myResultsFeed.getEntries().size() > 0) {
CalendarEventEntry firstMatchEntry = new CalendarEventEntry();
myResultsFeed.getEntries().get(0);
System.out.println(firstMatchEntry.getTitle().getPlainText());
}
Во время отладки еще одна полезная операция — выгрузка необработанного XML. Для этого в библиотеке есть удобная утилита. Убедитесь, что samples.util.*
импортирован. Затем сбросьте фид или запись.
CommonUtils.dump(resultFeed, System.out);
Чтобы получить более подробные инструменты отладки, ознакомьтесь с нашей статьей «Отладка клиентов Google Data API: изучение трафика из вашей программы» о том, как включить ведение журнала из клиентской библиотеки.
Это должно дать вам представление о том, на что похоже создание приложений с использованием клиентской библиотеки. Для получения более подробной информации см. раздел «Выводы» со списком доступных руководств для разработчиков для каждого API данных Google.
Заключение
Надеюсь, теперь вы можете создавать и запускать приложения с помощью клиентской библиотеки GData Java! Я не рассматривал ни одну из популярных IDE, которые вы можете использовать, но вы можете изучить популярные инструменты, такие как Eclipse или NetBeans . Вот несколько дополнительных ссылок, которые могут быть полезны:
Если у вас есть какие-либо вопросы по использованию клиентской библиотеки Java с каким-либо API, вы можете сообщить нам об этом, разместив сообщение на форумах , посвященных API.
Приложение: установка переменных среды
Инструкции по настройке переменных среды в Windows или Linux. Вам не нужно ничего устанавливать для Mac OS X.
Окна
Системные переменные будут применяться ко всем пользователям на компьютере. Если вы не можете редактировать системные переменные из-за отсутствия прав администратора, следуйте инструкциям здесь .
Если у вас есть права администратора:
- Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства».
- Щелкните вкладку «Дополнительно».
- Нажмите «Переменные среды».
- «Добавить» или «Редактировать» системные переменные: (замените местоположение на вашем локальном компьютере)
- Добавьте или отредактируйте
ANT_HOME
и установите значение C:\ant
- Добавьте или отредактируйте
JAVA_HOME
и установите значение C:\jdk
- Добавьте или отредактируйте
Path
и добавьте ;C:\ant\bin;C:\jdk\bin
в конец (путь к каталогу разделяет точка с запятой) - Добавьте или отредактируйте
CLASSPATH
и добавьте необходимые файлы .jar
в зависимости от того, с какими службами вы хотите работать. Убедитесь, что "." включен &mhash; это указывает текущий каталог. .;C:\gdata\java\lib\gdata-core-1.0.jar;C:\gdata\java\lib\gdata-calendar-1.0.jar
и т. д.
- Перезагрузитесь, чтобы убедиться, что они вступили в силу.
Примечание. Убедитесь, что переменные не заключены в кавычки (' или ") и не заканчиваются на \ или /.
Если у вас нет прав администратора:
- Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства».
- Щелкните вкладку «Дополнительно».
- Нажмите «Переменные среды».
- «Добавить» или «Изменить» пользовательские переменные: (замените местоположение на вашем локальном компьютере)
- Добавьте или отредактируйте
ANT_HOME
и установите значение C:\ant
- Добавьте или отредактируйте
JAVA_HOME
и установите значение C:\jdk
- Добавьте или отредактируйте
Path
и добавьте ;C:\ant\bin;C:\jdk\bin
в конец (путь к каталогу разделяет точка с запятой) - Добавьте или отредактируйте
CLASSPATH
и добавьте необходимые файлы .jar
в зависимости от того, с какими службами вы хотите работать. Убедитесь, что "." включен &mhash; это указывает текущий каталог. .;C:\gdata\java\lib\gdata-core-1.0.jar;C:\gdata\java\lib\gdata-calendar-1.0.jar
и т. д.
- Перезагрузитесь, чтобы убедиться, что они вступили в силу.
Примечание. Убедитесь, что переменные не заключены в кавычки (' или ") и не заканчиваются на \ или /.
Пользовательские переменные, которые вы только что отредактировали, будут применяться только к вашему профилю пользователя.
линукс
- Откройте файл
.bash_profile
в выбранном вами редакторе, расположенном в вашем домашнем каталоге. - Добавьте в свой
.bash_profile
следующее, заменив фактическое расположение файлов на вашем компьютере: -
export ANT_HOME=/usr/local/ant
-
export JAVA_HOME=/usr/local/jdk
-
export PATH=${PATH}:${ANT_HOME}/bin
- Вам нужно будет добавить файлы
.jar
для служб, которые вы будете использовать. Например, export CLASSPATH=${CLASSPATH}:/home/username/gdata/java/lib/gdata-core-1.0.jar:/home/username/gdata/java/lib/gdata-calendar-1.0.jar:/home/username/gdata/java/sample/util/lib/sample-util.jar
-
source .bash_profile
для установки переменных
Примечание. Убедитесь, что переменные не заключены в кавычки (' или ") и не заканчиваются на \ или /.