Итак, вроде бы свершилось. Наконец-то закончен первый вариант модуля для работы с Google Contacts API в Delphi. Собственно, как и все исходники в этом блоге - модуль также абсолютно беспатен и использовать его может каждый кто хочет. Но это не главное. Сразу следует отметить следующие несколько моментов, касающихся модуля.
Во-первых, при разработке модуля я старался сделать так, чтобы разработчик, использующий модуль, как можно меньше касался работы с XML- документами вплане их парсинга, анализа и т.д. (хотя никто и не препятствует такой работе, если она будет необходима) и все данные о контактах предоставлялись в готовом виде - в свойствах, списках и т.д.
Во-вторых, текущая версия модуля выставлена как 0.1. Сделано это по нескольким причинам, в том числе и потому, что вполне возможно, что после "полевых" испытаний модуля придётся переделать часть кода, отвечающую за локализацию. Признаюсь, тут я пошел тем же путем, что и некоторые разработчики компонентов Delphi, например, как разработчики Alpha Controls и "зашил" все строки, касающиеся локализации в Res-файл. Может и не самый удобный и удачный вариант, но пока в "стерильных домашних" условиях работы модуля глюков никаких не возникало - посмотрим, что будет в дальнейшем.
И в-третьих, для нормальной работы модуля Вам необходимо использовать Delphi 2010 с библиотеками Synapse и NativeXML. Ну об этом я упоминал уже несколько раз.
С формальностями закончили. Перейдем к рассмотрению возможностей модуля.
Сегодня затронем ещё один момент по работе с Google API в Delphi, а именно - посмотрим как необходимо правильно обновлять имя контакта.
Узнать имя контакта можно двумя способами:
Через содержимое узла title. При этом значение узла может собержать как полное имя, например, "Иванов Иван Иванович", так и сокращенные вариант (только имя, только фамилия, фамилия и инициалы и т.д.)
Через значения, содержащиеся в дочерних узлах gd:name. gd:name содержит структурированную информацию по контакту, такую как имя, фамилия, отчество и дополнительные элементы, такие как префик имени и т.д.
В данных о контакте элемент gd:name может отсутствовать. Читать далее »
Решил я сегодня начать исправление всех допущенных ошибок в модуле для работы с Google Contacts и дописать несколько методов по добавлению нового контакта в адресную книгу.
В целом при исправлении ошибок удалось также немного ускорить работы по чтению данных о контактах. Раньше на чтение 60 контактов требовалось порядка 7 секунд, сегодня сократил до 4 и, полагаю, что это далеко не предел.
В целом добавление нового контакта в адресную книгу практически не отличается от обновления контакта или добавления нового события в Календарь. Смысл достаточно прост - создается XML-документ с корневым элементом "atom:entry" в документ заносятся все данные о контакте и выполняется простенький POST-запрос на определенный URL. Однако один момент при выполнении этой операции немного загнал меня в ступор. Читать далее »
Сегодня рассмотрим три готовых метода для работы с изображениями в Google Contacts API. Эти методы включены в модуль Dephi, реализующий работу с API, который я рассматривал в этом посте. В процессе работы с изображениями натолкнулся на одну интересную особенность...но обо всем по порядку. Читать далее »
Чуть больше недели назад я писал про чтение данных о контактах Google через Google API. Сегодня я расскажу о том как вносить изменения в сведения о контакте. В данной части работы с API от нас требуется не только обеспечить добавление или внесение изменений в какие-либо сведения о контакте, но, также и обеспечить целостность данных. Читать далее »
Итак, вроде бы чтение данных о контактах в Google доделано. Пока на модуль выкладывать не буду - выложу в блоге для того, чтобы все заинтересованные в развитии проекта люди могли проверить работу, указать ошибки, недочеты и т.д. Сегодня рассмотрим небольшой пример работы с Контактами из Delphi, а также подведем небольшие итоги работы :) Читать далее »
Свежие комментарии