LINUX.ORG.RU

cURL и Google Календарь


0

0

Решил попробовать добавить событие в Google календарь из консоли. Судя по документации мне нужно пройти следующие шаги:

1. Аунтификация:

curl -d "Email=mail@gmail.com&Passwd=password&source=companyName-applicationName-versionID&service=cl" https://www.google.com/accounts/ClientLogin

С этим все нормально, мне возвращается AuthToken.

2. Дальше нужно создать событие (Event):
На запрос

curl -H "Authorization: GoogleLogin auth=DQAAAIkAAADpos4KBDwX6GdCS3Z1VLDvXw7CDrU0RbG6NelvFOe9ah-ZY8IbddfwA7JX4OB_MiK580wKHIJ1AV6wtgt7CVFx43ek8m6Dm7vKTj5ARKal0DKSE1u0l6AbFrLbYKMf_6th4mRqFMRcP832h8O6qd2_nqq0Te9JzUYy-xdDfSeUIshDnUfk0aFzD5dTcgQNwlc" http://www.google.com/calendar/feeds/mail@gmail.com/private/full
мне возвращается
<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="http://www.google.com/calendar/feeds/mail@gmail.com/private/full?gsessionid=FAoHLwz1riEQJkcNYWblBd">here</A>.
</BODY>
</HTML>
Судя по документации - это нормально, мне нужно послать на возвращенный url XML. А вот как это сделать я не понимаю.
Запрос вида:
curl -H "Authorization: GoogleLogin auth=DQAAAIkAAADpos4KBDwX6GdCS3Z1VLDvXw7CDrU0RbG6NelvFOe9ah-ZY8IbddfwA7JX4OB_MiK580wKHIJ1AV6wtgt7CVFx43ek8m6Dm7vKTj5ARKal0DKSE1u0l6AbFrLbYKMf_6th4mRqFMRcP832h8O6qd2_nqq0Te9JzUYy-xdDfSeUIshDnUfk0aFzD5dTcgQNwlc" http://www.google.com/calendar/feeds/mail@gmail.com/private/full?gsessionid=FAoHLwz1riEQJkcNYWblBd
возвращает портянку о моем календаре:
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:gCal='http://schemas.google.com/gCal/2005'>
<id>http://www.google.com/calendar/feeds/mail@gmail.com/private/full</id>
<updated>2009-12-28T06:41:19.000Z</updated>
<category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/g/2005#event'/>
<title type='text'>mail@gmail.com</title>
<subtitle type='text'>mail@gmail.com</subtitle>
<link rel='alternate' type='text/html' href='http://www.google.com/calendar/embed?src=mail@gmail.com'/>
<link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.google.com/calendar/feeds/mail@gmail.com/private/full'/>
<link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='http://www.google.com/calendar/feeds/mail@gmail.com/private/full'/>
<link rel='http://schemas.google.com/g/2005#batch' type='application/atom+xml' href='http://www.google.com/calendar/feeds/mail@gmail.com/private/full/batch'/>
<link rel='self' type='application/atom+xml' href='http://www.google.com/calendar/feeds/mail@gmail.com/private/full?max-results=25'/>
<author>
<name>User Name</name>
<email>mail@gmail.com</email>
</author>
<generator version='1.0' uri='http://www.google.com/calendar'>Google Calendar</generator>
<openSearch:totalResults>0</openSearch:totalResults>
<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>25</openSearch:itemsPerPage>
<gCal:timezone value='Europe/Samara'/><gCal:timesCleaned value='0'/></feed>
т.е. все работает и правильно.

Собстенно, подскажите как средставми curl отправить вот такой XML:
<entry xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'>
  <category scheme='http://schemas.google.com/g/2005#kind'
    term='http://schemas.google.com/g/2005#event'></category>
  <title type='text'>Tennis with Beth</title>
  <content type='text'>Meet for a quick lesson.</content>
  <gd:transparency
    value='http://schemas.google.com/g/2005#event.opaque'>
  </gd:transparency>
  <gd:eventStatus
    value='http://schemas.google.com/g/2005#event.confirmed'>
  </gd:eventStatus>
  <gd:where valueString='Rolling Lawn Courts'></gd:where>
  <gd:when startTime='2006-04-17T15:00:00.000Z'
    endTime='2006-04-17T17:00:00.000Z'></gd:when>
</entry>

★★★★

Нашел вот тему, только там работа с Picasa Web Albums, но все очень похоже, попробую покапать там.

ostin ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.