On-line: PSP, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 253
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 16.03.21 21:55. Заголовок: Облачные сервисы (WebDAV, CalDAV &Co)


После некоторого разбирательства с прогой удалось организовать импорт из ICAL-файлов и экспорт в оные. Но тут шеф захотел, чтобы был прямой контакт с CalDav через интернет. Я знаю, что на питоне такое возможно. На дельфине и даже Xojo (RealBasic) тоже - через спецбиблиотеку. Но как реализовать подключение к облачному сервису в Harbour/Minigui?

Возможно ли это вообще?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 171 , стр: 1 2 3 4 5 6 7 8 9 All [только новые]


постоянный участник




Пост N: 3623
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.03.21 23:29. Заголовок: Dr. Oldwarez пишет Т..


Dr. Oldwarez пишет
 цитата:
Теперь, как, собственно говоря, войти в календарь и просмотреть его содержимое?



 цитата:
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav">


Похожее видел в той статье
 
<?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="https://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="https://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav">
...
Но у нас также есть еще одна интересная информация, возвращенная в теле запроса, а именно другая коллекция, которую мы можем изучить: /calendars/user@demo.atmail.com/
Мы будем выполнять рекурсию, насколько это возможно, с глубиной, установленной на бесконечность, но передаем некоторые данные запроса, чтобы указать, что нас интересуют только объекты календаря, и чтобы вернуть только URL-адрес, тип ресурса и отображаемое имя коллекции:
$ curl --user "user@demo.atmail.com:ThePassword" -sD /dev/stderr -H "Content-Type: application/xml" -X PROPFIND -H "Depth: infinity" --data '<d:propfind xmlns:d="DAV:" xmlns:cs="https://calendarserver.org/ns/"><d:prop><d:resourcetype /><d:displayname /></d:prop></d:propfind>' https://demo-server.atmail.com:8443/calendars/user@demo.atmail.com/ | xmllint -format -
...

и т.д. по статье, наверно, так

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 259
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 19.03.21 23:43. Заголовок: Петр пишет:  цитат..


Петр пишет:

 цитата:

 цитата:
Вроде что-то получилось
curl -k -o test.xml --user USERNAME:PASSWORD -X PROPFIND "https://webmail.kleeblatt.com/rpc.php/principals/illya@kleeblatt.com/"


Куда этот url ссылается?

Эту часть почему отбросили
/calendar~GhGVum1xWexaffEfhiVkNN7



Добавил потерянную часть. И вот
<?xml version="1.0" encoding="utf-8"?> 
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav"
xmlns:cs="http://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav"><d:response>
<d:href>/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/</d:href>
<d:propstat><d:prop><d:resourcetype><d:collection/><cal:calendar/></d:resourcetype></d:prop>
<d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/w7klsLDepGCBYAA7Gmr4GIe.ics</d:href>
<d:propstat><d:prop><d:getlastmodified>Sat, 13 Mar 2021 16:58:11 GMT</d:getlastmodified>
<d:getcontentlength>500</d:getcontentlength><d:resourcetype/><d:getetag>"bb0f09c6bf34469cad5f872725ed93b9"</d:getetag>
<d:getcontenttype>text/calendar; charset=utf-8</d:getcontenttype></d:prop><d:status>HTTP/1.1 200 OK</d:status>
</d:propstat></d:response>
<d:response><d:href>/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/8gpZuoZBJQDnLlr-66brhHG.ics</d:href>
<d:propstat><d:prop><d:getlastmodified>Thu, 04 Mar 2021 16:51:14 GMT</d:getlastmodified><d:getcontentlength>515</d:getcontentlength><d:resourcetype/>
<d:getetag>"c1daa4a100ad72550dc468e539047aac"</d:getetag><d:getcontenttype>text/calendar; charset=utf-8</d:getcontenttype></d:prop>
<d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response>
<d:href>/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/VM3wwLrVEm3Zwn-UkKAzXra.ics</d:href>
<d:propstat><d:prop><d:getlastmodified>Thu, 04 Mar 2021 16:51:33 GMT</d:getlastmodified><d:getcontentlength>577</d:getcontentlength>
<d:resourcetype/><d:getetag>"da02d9cfbc83085498615e55e87d25ea"</d:getetag><d:getcontenttype>text/calendar; charset=utf-8</d:getcontenttype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response>
<d:response><d:href>/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/e5aab12a-1a2a-4309-96d4-cccb1b67d9ba.ics</d:href>
<d:propstat><d:prop><d:getlastmodified>Mon, 08 Mar 2021 06:59:00 GMT</d:getlastmodified><d:getcontentlength>659</d:getcontentlength>
<d:resourcetype/><d:getetag>"ff0f3e0392c3a16579e8b87442f60ff4"</d:getetag>
<d:getcontenttype>text/calendar; charset=utf-8</d:getcontenttype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response>
<d:response><d:href>/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/seukIp8ajv0rOXXx8IG4Q9j.ics</d:href><d:propstat>
<d:prop><d:getlastmodified>Mon, 15 Mar 2021 12:56:41 GMT</d:getlastmodified><d:getcontentlength>546</d:getcontentlength><d:resourcetype/>
<d:getetag>"fa79fe0b28dea03c0db457af39980eae"</d:getetag><d:getcontenttype>text/calendar; charset=utf-8</d:getcontenttype></d:prop>
<d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response>
<d:href>/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/83sEK6nFBn4-TQ1XcZoPvWz.ics</d:href><d:propstat><d:prop>
<d:getlastmodified>Mon, 15 Mar 2021 12:52:23 GMT</d:getlastmodified><d:getcontentlength>526</d:getcontentlength><d:resourcetype/>
<d:getetag>"11735b683c59f7e3c0a60842c1df4101"</d:getetag><d:getcontenttype>text/calendar; charset=utf-8</d:getcontenttype></d:prop>
<d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1608
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.03.21 00:02. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Я так понял, это список ICS файлов. Теперь надо открывать каждый ICS по отдельности, чтобы получить записи календаря?


Наверное. Попробуйте стащить один и поработать с ним оффлайн.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3624
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.03.21 00:18. Заголовок: Dr. Oldwarez пишет Д..


Dr. Oldwarez пишет
 цитата:
Добавил потерянную часть. И вот


Смотреть без переноса трудно, но похоже (по статье) это коллекция календарей, опять по статье след. шаг

 цитата:
Итак, заглянем внутрь одной из этих коллекций (календарей). Выберем календарь «Дни рождения» и посмотрим, что там:
$ curl --user "user@demo.atmail.com:ThePassword" -sD /dev/stderr -H "Content-Type: application/xml" -X PROPFIND -H "Depth: infinity" https://demo-server.atmail.com:8443/calendars/user@demo.atmail.com/02f29dd9516f1f0c415527e0a60cb3f7/ | xmllint -format -
...ответ
В данном случае это календарное событие, и мы можем сказать об этом через свойство:
<d: getcontenttype> текст / календарь; charset = utf-8; компонент = vevent </ d: getcontenttype>
Наконец, давайте извлечем это событие с помощью обычного старого HTTP GET и посмотрим, что у нас есть:
curl --user "user@demo.atmail.com:ThePassword" -i -X GET https://demo-server.atmail.com:8443/calendars/user@demo.atmail.com/02f29dd9516f1f0c415527e0a60cb3f7/33992bd8-d3fe-4b07-baaf-c43d0042fae8.ics
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Sat, 09 May 2020 05:28:59 GMT
Content-Type: text/calendar; charset=utf-8; component=vevent
Content-Length: 554
Connection: keep-alive
Last-Modified: Sat, 09 May 2020 01:24:06 GMT
ETag: "d34b216dac0dcf327a3cf2d79f95a226"
X-Content-Type-Options: nosniff

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//apiserver//API Server DAV//EN
BEGIN:VEVENT
UID:33992bd8-d3fe-4b07-baaf-c43d0042fae8
DTSTART;VALUE=DATE:20200506
DTEND;VALUE=DATE:20200507
CREATED:20190124T104704Z
DTSTAMP:20190128T234044Z
LAST-MODIFIED;X-VOBJ-FLOATINGTIME-ALLOWED=TRUE:20200503T203005
RRULE:FREQ=YEARLY;INTERVAL=1;WKST=MO
SEQUENCE:30
STATUS:CONFIRMED
SUMMARY:Dad's Birthday
TRANSP:OPAQUE
BEGIN:VALARM
ACKNOWLEDGED:20190128T234044Z
ACTION:DISPLAY
DESCRIPTION:Default Description
TRIGGER:-P1D
END:VALARM
END:VEVENT
END:VCALENDAR


по статье такие действия для извл. данных

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1609
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.03.21 00:34. Заголовок: SergKis пишет: Смот..


SergKis пишет:

 цитата:
Смотреть без переноса трудно



Code Beautify

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3625
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.03.21 00:54. Заголовок: Петр пишет Code Beau..


Петр пишет
 цитата:
Code Beautify


Через эту штуку и надо сюда выкладывать, а то страницы расползлись по ширине хз как, центрованные цитаты вправо улетели
далеко за пределы экрана, не говоря о самом тексте

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1610
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.03.21 10:01. Заголовок: Надеюсь топикстартер..


Надеюсь топикстартер (или модератор) пост №259 удалит, а №260 отформатирует как следует.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 261
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 20.03.21 21:14. Заголовок: Петр пишет:  Отпр..


Петр пишет:

 цитата:

 Отправлено: Сегодня 10:01. Заголовок: Надеюсь топикстартер.. - новое!

Надеюсь топикстартер (или модератор) пост №259 удалит, а №260 отформатирует как следует.


Подформатировал пост 259. 260 удалил как дубликат. Извините за созданные проблемы - я просто не имею опыта с xml файлами

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 262
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 21.03.21 09:56. Заголовок: SergKis пишет: Смот..


SergKis пишет:

 цитата:
Смотреть без переноса трудно, но похоже (по статье) это коллекция календарей, опять по статье след. шаг

 цитата:
Итак, заглянем внутрь одной из этих коллекций (календарей). Выберем календарь «Дни рождения» и посмотрим, что там:
$ curl --user "user@demo.atmail.com:ThePassword" -sD /dev/stderr -H "Content-Type: application/xml" -X PROPFIND -H "Depth: infinity" https://demo-server.atmail.com:8443/calendars/user@demo.atmail.com/02f29dd9516f1f0c415527e0a60cb3f7/ | xmllint -format -
...ответ
В данном случае это календарное событие, и мы можем сказать об этом через свойство:
<d: getcontenttype> текст / календарь; charset = utf-8; компонент = vevent </ d: getcontenttype>
Наконец, давайте извлечем это событие с помощью обычного старого HTTP GET и посмотрим, что у нас есть:
curl --user "user@demo.atmail.com:ThePassword" -i -X GET https://demo-server.atmail.com:8443/calendars/user@demo.atmail.com/02f29dd9516f1f0c415527e0a60cb3f7/33992bd8-d3fe-4b07-baaf-c43d0042fae8.ics
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Sat, 09 May 2020 05:28:59 GMT
Content-Type: text/calendar; charset=utf-8; component=vevent
Content-Length: 554
Connection: keep-alive
Last-Modified: Sat, 09 May 2020 01:24:06 GMT
ETag: "d34b216dac0dcf327a3cf2d79f95a226"
X-Content-Type-Options: nosniff

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//apiserver//API Server DAV//EN
BEGIN:VEVENT
UID:33992bd8-d3fe-4b07-baaf-c43d0042fae8
DTSTART;VALUE=DATE:20200506
DTEND;VALUE=DATE:20200507
CREATED:20190124T104704Z
DTSTAMP:20190128T234044Z
LAST-MODIFIED;X-VOBJ-FLOATINGTIME-ALLOWED=TRUE:20200503T203005
RRULE:FREQ=YEARLY;INTERVAL=1;WKST=MO
SEQUENCE:30
STATUS:CONFIRMED
SUMMARY:Dad's Birthday
TRANSP:OPAQUE
BEGIN:VALARM
ACKNOWLEDGED:20190128T234044Z
ACTION:DISPLAY
DESCRIPTION:Default Description
TRIGGER:-P1D
END:VALARM
END:VEVENT
END:VCALENDAR


по статье такие действия для извл. данных



Да, я понял. Но сначала нужно весь список ics-ов считать в массив внешним циклом, а потом каждый ics ещё просмотреть, чтобы получить из него данные календарей.
Это очень много вызовов curl и автоматически созданных промежуточных файлов получается.

Нельзя ли так, чтобы сразу подключение и считывание прямо программой, минуя многочисленные промежуточные стадии?

И как в Harbour считывать данные из XML в массив?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1611
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 21.03.21 12:01. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Но мне бы всё-таки хотелось встроенную библиотеку для удобства дистрибуции. Изучить я смогу. Только дайте мне документацию, а то hbd я не знаю, чем прочесть. И несколько примеров.



Dr. Oldwarez пишет:

 цитата:
Нельзя ли так, чтобы сразу подключение и считывание прямо программой, минуя многочисленные промежуточные стадии?



Добейтесь конечного результата с curl, а тогда будете оптимизировать.
Сейчас у вас нет ни знаний, ни умений на свои хотелки.
Все придет, может быть, а может и не быть.

К тому же инсталлятор весом меньше 1 Га в наше время моветон

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1612
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 21.03.21 12:15. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
И как в Harbour считывать данные из XML в массив?



Все просто - считываете данные из XML и добавляете в массив.

В Harbour нет встроенных функций для роботы с XML, в отличии от того же json или cvs, ini.

Значит у вас есть выбор

1) Можете просто разбирать строку с помощью строковых функций;
2) Можете использовать библиотеку hbexpat из contrib, примеры там же;
3) Можете использовать библиотеку hbmxml из contrib, примеры там же;
4) Можете использовать библиотеку hbxml из состава Minigui, пример SAMPLES\Advanced\XmlDemo и др;
5) Можете использовать стандартные технологии MS OLE и Msxml, пример SAMPLES\Advanced\GoogleCharts;
и т.д. и т.п.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3627
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.03.21 13:59. Заголовок: Петр пишет Можете пр..


Петр пишет
 цитата:
Можете просто разбирать строку с помощью строковых функций;


Простой пример выкусить из xml поста 259
 
LOCAL cXml := "_ics.xml" // файл с данными из поста 259
LOCAL cBuf := hb_memoread(cXml)
LOCAL aBuf, nI

IF CRLF $ cBuf ; cBuf := StrTran(cBuf, CRLF, "")
ENDIF

aBuf := hb_ATokens(cBuf, "<d:response><d:href>")

? aBuf
FOR nI := 1 TO Len(aBuf)
cBuf := aBuf[nI]
? nI, left(cBuf, AT("</", cBuf)-1)
NEXT
...
результат
ARRAY[8]
1 ''
2 /rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/
3 /rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/w7klsLDepGCBYAA7Gmr4GIe.ics
4 /rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/8gpZuoZBJQDnLlr-66brhHG.ics
5 /rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/VM3wwLrVEm3Zwn-UkKAzXra.ics
6 /rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/e5aab12a-1a2a-4309-96d4-cccb1b67d9ba.ics
7 /rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/seukIp8ajv0rOXXx8IG4Q9j.ics
8 /rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7/83sEK6nFBn4-TQ1XcZoPvWz.ics


Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3628
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.03.21 14:12. Заголовок: Dr. Oldwarez пишет Н..


Dr. Oldwarez пишет
 цитата:
Нельзя ли так, чтобы сразу подключение и считывание прямо программой, минуя многочисленные промежуточные стадии?


Если пройдете по статье еще раз, то увидите, что каждый вызов curl это запрос к серверу и обработка результата и
снова запрос ..., т.е. и без curl будет точно такая же схема работы. Если оформите запрос в ф-ю (вызов curl и обработка результата)
с возвратом результата, то если (может и не понадобится) потом надо будет переделаете на исп. lib

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3629
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.03.21 14:53. Заголовок: PS Давать календари ..


PS
Давать календари надо будет в цивилизованном виде, т.е.
таблица dbf\array - "список календарей" -> выбираем -> запрос[ы] curl к серверу -> ответ и
таблица dbf\array - "события календаря"
если работа online, при offline тот же путь выборки и куда то сохранить первичные запросы
(потом обновлять, если ics меняли)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3630
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.03.21 15:25. Заголовок: PS2 Чуть усложнил и ..


PS2
Чуть усложнил и получил таблицу календарей в массиве Скрытый текст


Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 263
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 21.03.21 15:30. Заголовок: SergKis пишет: Дава..


SergKis пишет:

 цитата:
Давать календари надо будет в цивилизованном виде, т.е.
таблица dbf\array - "список календарей" -> выбираем -> запрос[ы] curl к серверу -> ответ и
таблица dbf\array - "события календаря"
если работа online, при offline тот же путь выборки и куда то сохранить первичные запросы
(потом обновлять, если ics меняли)



Спасибо за помощь!

Я уже понял, примерно, как это. Но вот вопрос: если календарь заполнен и в нём 500 событий, это что, надо 500 раз соединяться? Такого DDOSа не выдержат ни сеть, ни комп. Профильтровать их тоже не получится - пока не откроешь ICS, его параметры будут неизвестны.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3631
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.03.21 15:43. Заголовок: Dr. Oldwarez пишет Т..


Dr. Oldwarez пишет
 цитата:
Такого DDOSа не выдержат ни сеть, ни комп.


Это не DDOS, а REST API спец. механизм для доступа и обмена данными, смело используйте

 цитата:
Профильтровать их тоже не получится - пока не откроешь ICS, его параметры будут неизвестны.


Если сохранять в dbf, то можно опираться на дату модификации сначала ics, потом события при изм. календаря
Если нет команды получить все события, получаем по одному

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3632
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.03.21 15:59. Заголовок: Dr. Oldwarez пишет Н..


Dr. Oldwarez пишет
 цитата:
Но вот вопрос: если календарь заполнен и в нём 500 событий, это что, надо 500 раз соединяться?


Вы не сделали запроса к конкретному ics, после списка, по статье, я так понял, должны получить на календарь список всех событий
с датой создания и модификации. Т.е. если уже в dbf занесли данные, то можно выбрать из списка только изменненные и по ним
делать запрос для получения данных VEVENT и изменять dbf только по ним

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 264
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 21.03.21 16:04. Заголовок: SergKis пишет: Если..


SergKis пишет:

 цитата:
Если нет команды получить все события, получаем по одному



А мне надо именно, что ВСЕ события получить. Дата модификации неинформативна. Не дата модификации мне нужна, а дата и время события. Это и есть первичный ключ в моём локальном календаре

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1613
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 21.03.21 16:08. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
А мне надо именно, что ВСЕ события получить.



Так втащите весь календарь на локальный комп (за один запрос), а потом синхронизируйте его с сервером
Пример с GET делали или нет?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 171 , стр: 1 2 3 4 5 6 7 8 9 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 231
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет