У меня проблемы с созданием записи контакта с помощью API контактов Google. Я использую PHP для этого. Моя проблема в том, что я могу создать запись в контактах пользователей, но имя не задано. Единственное поле, которое нужно установить — это адрес электронной почты. Например, это XML, который я отправляю:
<?xml version="1.0"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005">
<gd:name>
<gd:givenName>John</gd:givenName>
<gd:familyName>Smith</gd:familyName>
<gd:fullName>John Smith</gd:fullName>
</gd:name>
<gd:email address="[email protected]" rel="http://schemas.google.com/g/2005#home"/>
</atom:entry>
И вот что возвращается:
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gContact="http://schemas.google.com/contact/2008" xmlns:gd="http://schemas.google.com/g/2005">
<id>http://www.google.com/m8/feeds/contacts/user@domain/base/xyz123</id>
<updated>2015-05-13T08:30:56.531Z</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
<title type="text"/>
<link rel="http://schemas.google.com/contacts/2008/rel#edit-photo" type="image/*" href="https://www.google.com/m8/feeds/photos/media/user@domain/xyz123/abc987"/>
<link rel="self" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/user@domain/xyz123"/>
<link rel="edit" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/user@domain/xyz123/1431505856531001"/>
<gd:email rel="http://schemas.google.com/g/2005#home" address="[email protected]"/>
</entry>
Обратите внимание, что «заголовок» пуст при возврате:
<title type="text"/>
Что мне не хватает?
редактировать
Подводя итог — могу создать контактную запись. Я задаю данные namesName, familyName, fullName и email в XML-сообщении, как показано в первом блоке кода. Контакт успешно создан, но сохраняется только электронная почта. Имя, фамилия и полное имя не установлены. Желаемым поведением будет создание контакта, который содержит имя, фамилию, имя, полное имя и адрес электронной почты.
решаемая
Чтобы установить заголовок, вы должны добавить элемент xml:
<atom:title>John Smith</atom:title>
Я ошибочно предположил, что заданные параметры nameName и familyName и fullName устанавливают заголовок. Итак, мой оригинальный запрос XML будет выглядеть так:
<?xml version="1.0"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005">
<atom:title>John Smith</atom:title>
<gd:name>
<gd:givenName>John</gd:givenName>
<gd:familyName>Smith</gd:familyName>
<gd:fullName>John Smith</gd:fullName>
</gd:name>
<gd:email address="[email protected]" rel="http://schemas.google.com/g/2005#home"/>
</atom:entry>
Задача ещё не решена.
Других решений пока нет …