Перейти к содержанию
BlackBerrys.ru
baltimoroff

Настройка iCloud Календаря и Контактов вручную

Рекомендуемые сообщения

Короче - реализация CalDav это не один тип протокола.

 

http://blogs.nologin.es/rickyepoderi/index.php?/archives/14-Introducing-CalDAV-Part-I.html

 

 

Угу, там предложение обратиться в Apple с вопросом, почему не проходит авторизация с BB10 для устройств с новой прошивкой :)

 

Если у меня вдруг устройство бросит работать с MSE после очередного обновления прошивки, а MS Outlook - нет, то, как я понимаю - писать надо будет в MS?

 

Как вариант, да. Либо к поставщику услуги. Кстати, сталкивался с тем, что после очередного обновления MSE все отправленные стали падать в папку Junk E-Mail, если к серверу было подключено хотя бы одно устройство на iOS.

 

Или мне надо было в Apple писать по этому вопросу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Практика такова:

 

1. Локализовать проблему (т.е. провести анализ)

2. Действовать по результатам локализации проблемы

 

Т.е. если письма отправлены только с iOS начали падать в папку Junk, то значит проблема в этом клиенте. Если же это не зависит от типа клиента, а зависит именно от настроек самого сервера, то к производителю сервера.

 

В данном случае все для локализации проблемы имеется:

 

+ До обновления СЕРВЕРА все работало корректно

+ После обновления СЕРВЕРА бросило работать в определенных условиях, независимо от клиента

 

Вывод какой? Правильно - что-то изменилось в самом сервере, что не позволяет ему работать в тех условиях, что он работал раньше. Это называется обратная совместимость. То, что у BBRY обратная совместимость отсутствует как класс, я к этому привык.

 

Т.е. мы всегда сравниваем ситуацию "до" и "после". И смотрим что именно изменилось. В данном случае так сработало обновление прошивки, а не какие-то изменения на сервере. Иначе проблема была бы у всех, а не только у тех, кто обновился на 10.1. У меня все отлично работало до тех пор, пока я не обновился на .1720.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз. На андроид та же ситуация. Мочить гугл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что на андроид? Тоже на сегодня у них проблемы с доступом к CalDav от Apple/Lotus?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати идея... откачусь-ка я на ту прошивку, что была до того, вроде как осталась и проверю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что на андроид? Тоже на сегодня у них проблемы с доступом к CalDav от Apple/Lotus?

 

А ты что не в курсе, что нет наитивной поддержки CalDAV и CardDAV? Только сторонние приложения.

 

А почту перодически рубит с ошибкой подключения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А, черт... 10.0 на кушку то не выходило, не проверить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как перенести контакты с icloud ?

 

А Вы прочтите тему - ответ во втором сообщении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пошла третья неделя ожидания. BBRY до сих пор толком ничего не говорят, самая свежая утечка проблемы не решает. Красота!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Черт с ним, с iCloud! Сегодня проверял совместимость BB10 и Lotus... Мда, проблема - там тоже календари по CalDav не синхронизируются. Совет от BBRY, как перенести свои календари на outlook.com не канает, нельзя же заставить и всех остальных, с кем ты шаришь календари тоже переехать на outlook.com.

 

Обещали фикс 30го мая или раньше, но сегодня уже 31е и вестей нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как раз недавно обсуждали с одним моим знакомым. У него корп. Lotus - с календарями проблемы нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Боже мой, это непроходимые индусские кодеры в BBRY! Куда бы пожаловаться, чтобы там выдали люлей по первое число?!

 

 

After more in house testing we were able to recreate the issue. At this

point the message we are getting is "forbidden, you don't have permission
to access /public/Calendars/test on this server." So the connection isn't
allowing us in at this point.

 

Thanks again for contacting BlackBerry Technical Support.

 

У меня тупо нет слов. Понятно, почему с некоторыми серверами их реализация CalDav не работает. Вместо того, чтобы следовать RFC, они быстро на коленке слабали свой механизм общения с календарем, игнорируя часть стандартов CalDav.

 

+ Сперва надо было выполнить PROPFIND запрос с параметром {DAV:}current-user-principal

+ Затем используя полученный URL надо было выполнить еще один запрос PROPFIND для нахождения calendar-home-set property (или другого значения, согласно RFC)

+ И уже по этому самому URL, составленному из полученных данных и обращаться

 

Но вместо этого они ломятся напрямую... Слов нет!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так ты бы их и направил на путь истинный в самом тикете :)

 

Я обычно, независимо от платформы, так и поступаю ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я уже отписал, что они дебилы и индусы. Нашел PHP скрипт уже готовый, чтобы не писать свой собственный согласно RFC, и обнаружил, что все URL приводимые там работают. (правда они НЕ работают в клиенте BB10, что вполне ожидаемо - он же не соответствует стандартам)

 

Специально поднял стороннего клиента CalDav и проверил URL's - все отлично работает. Авторизация проходит, календари синхронизируются. Как итог - программировать надо правильно.

 

Сейчас думаю и ломаю голову, как правильно им прописать URL, чтобы их индусская реализация его поняла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверил PHP скриптом древним - работает и чтение календаря и постинг в календарь, причем отлично работает! Так что злая эппла ничего у себя не меняла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мля, поскольку там используется HTTPS, то подменить у себя сервер в DNS не удастся и посмотреть, что именно посылает клиент BB10. Разве что попробовать на свой заменить и полностью эмулировать iCloud, с полным логированием.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А с Gmail/Gapps сравнивать не пробовал - там все работает и также по Cal/CardDav.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Специально попробовал и нашел различия. Смысл вот в чем - iCloud работает чуть-чуть хитрее чем Gmail, но работает согласно стандартов CalDav

 

Т.е. GMail календарь по CalDav не требует построения пути, как iCloud. Иными словами - алгоритм, о котором я писал выше, можно игнорировать.

 

Я специально взвел у себя эмуляцию iCloud и посмотрел, что и как запрашивает ВВ10. И тихо прифигел - да, они запрашивают PROPFIND, но данные ответа игнорируют и далее запрашивают неверный URL. Естественно, что им возвращается ошибка Forbidden (нет доступа в такую папку), т.е. URL они формируют без UserID.

 

Как пример - они должны были запросить: caldav.icloud.com/1104725435/calendars/ для доступа, но запросили... caldav.icloud.com/[email protected]/calendars/

 

Конечно оно не будет работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь идем немного дальше. Чтобы снизить нагрузку на сервера, iCloud при запросе на caldav.icloud.com отдает ответ такого типа:

SimpleXMLElement Object
(
    [head] => SimpleXMLElement Object
        (
            [title] => Forbidden
        )

    [body] => SimpleXMLElement Object
        (
            [h1] => Forbidden
            [p] => Calendar data must be accessed on p05-caldav.icloud.com
        )

)

Что нам и отображает Blackberry 10. При попытке указать сервер p05-caldav.icloud.com он формирует неправильный URL, как я показал выше.

 

Я специально подставил User Agent от Blackberry, чтобы понять - не блокируется ли он по нему. Нет, не блокируется.

 

Мне приходит вполне адекватный и правильный ответ:

SimpleXMLElement Object
(
    [response] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [href] => /...(UID скрыт).../calendars/tasks/
                    [propstat] => SimpleXMLElement Object
                        (
                            [prop] => SimpleXMLElement Object
                                (
                                    [displayname] => Задачи
                                )

                            [status] => HTTP/1.1 200 OK
                        )

                )

            [1] => SimpleXMLElement Object
                (
                    [href] => /...(UID скрыт).../calendars/...(UDID скрыт).../
                    [propstat] => SimpleXMLElement Object
                        (
                            [prop] => SimpleXMLElement Object
                                (
                                    [displayname] => Shared Cal
                                )

                            [status] => HTTP/1.1 200 OK
                        )

                )

            [2] => SimpleXMLElement Object
                (
                    [href] => /...(UID скрыт).../calendars/outbox/
                    [propstat] => SimpleXMLElement Object
                        (
                            [prop] => SimpleXMLElement Object
                                (
                                )

                            [status] => HTTP/1.1 200 OK
                        )

                )

            [3] => SimpleXMLElement Object
                (
                    [href] => /...(UID скрыт).../calendars/work/
                    [propstat] => SimpleXMLElement Object
                        (
                            [prop] => SimpleXMLElement Object
                                (
                                    [displayname] => Алексей
                                )

                            [status] => HTTP/1.1 200 OK
                        )

                )

            [4] => SimpleXMLElement Object
                (
                    [href] => /...(UID скрыт).../calendars/...(GUID скрыт).../
                    [propstat] => SimpleXMLElement Object
                        (
                            [prop] => SimpleXMLElement Object
                                (
                                    [displayname] => Алексей (общее)
                                )

                            [status] => HTTP/1.1 200 OK
                        )

                )

            [5] => SimpleXMLElement Object
                (
                    [href] => /...(UID скрыт).../calendars/
                    [propstat] => SimpleXMLElement Object
                        (
                            [prop] => SimpleXMLElement Object
                                (
                                    [displayname] => Some Calendar
                                )

                            [status] => HTTP/1.1 200 OK
                        )

                )

            [6] => SimpleXMLElement Object
                (
                    [href] => /...(UID скрыт).../calendars/inbox/
                    [propstat] => SimpleXMLElement Object
                        (
                            [prop] => SimpleXMLElement Object
                                (
                                    [displayname] => inbox
                                )

                            [status] => HTTP/1.1 200 OK
                        )

                )

            [7] => SimpleXMLElement Object
                (
                    [href] => /...(UID скрыт).../calendars/notification/
                    [propstat] => SimpleXMLElement Object
                        (
                            [prop] => SimpleXMLElement Object
                                (
                                    [displayname] => notification
                                )

                            [status] => HTTP/1.1 200 OK
                        )

                )

        )

)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...