ICalendar и обновления события, не работающие в Outlook

Модель разрешения Firebase позволяет пользователю получить доступ к данным, к которым вы явно разрешаете доступ. Поскольку в ваших правилах безопасности вы предоставляете доступ только к /users/$uid, пользователь не может читать из root /. Документация Firebase описывает это в разделе «rules cascade» .

Кажется, вы хотите использовать правила безопасности для фильтрации данных, что невозможно в модели безопасности Firebase. См. Раздел «Правила не являются фильтрами» в документации Firebase, а также эти предыдущие вопросы и ответы:

Самое простое решение - разрешить чтение узла users:

{
    "rules": {
        "users": {
            ".read": "auth !== null && auth.provider === 'password'"
        }
    }
}

И затем запросить на этом уровне:

getData(ref.child("users"));

23
задан Auberon Vacher 7 February 2014 в 14:06
поделиться

4 ответа

Я продолжил делать некоторое тестирование и теперь сумел заставить Outlook обновлять и отменять события на основе .cs файла.

Outlook на самом деле, кажется, отвечает на правила, определенные в RFC 2446

, Таким образом, необходимо определить

METHOD:REQUEST и ORGANIZER:xxxxxxxx

в дополнение к UID: и SEQUENCE:

Для отмены необходимо определить METHOD:CANCEL

Пример Запроса/Обновления

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:TS_229377_MS_262145@syfadis.com
SEQUENCE:5
DTSTAMP:20081106T154911Z
ORGANIZER:catalog@syfadis.com
DTSTART:20081113T164907
DTEND:20081115T170000
SUMMARY:TestTraining
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

Пример Отмены;

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:CANCEL
BEGIN:VEVENT
UID:TS_229377_MS_262145@syfadis.com
SEQUENCE:7
DTSTAMP:20081106T154916Z
ORGANIZER:catalog@syfadis.com
DTSTART:20081113T164907
SUMMARY:TestTraining
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR
24
ответ дан Tom Carter 29 November 2019 в 02:16
поделиться

Я овладел Tom Carter, автором вопроса. У него был рабочий пример с запросом, сопровождаемым отменой. То, что я имел, неправильно был мой МЕТОД, было в моем VEVENT, когда это должно было быть снаружи. Таким образом, вот рабочее обновление!

Исходный:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:0
DTSTAMP:20081108T151809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121200
SUMMARY:11/9/2008 12:12:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Обновление:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:1
DTSTAMP:20081108T161809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121300
SUMMARY:11/9/2008 12:13:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Все, что я сделал, было, добавляет метод запроса (в корректном месте!), и организатор.

8
ответ дан Chris 29 November 2019 в 02:16
поделиться

Я использую Entourage, таким образом, это не может совпасть точно с поведением, Вы видите, но я надеюсь, что это помогает.

Используя iCalendar от Вашего ответа, Entourage даже не импортировал бы данные. Используя известное - хороший файл, я заставил его импортировать, затем успешно обновлять. Сравнивая эти два файла, единственные структурные различия следующие:

  • Мое известное - хороший не имеет VERSION элемент
  • , Мое известное - хороший не имеет PRODID элемент
  • , Мое известное - хороший не имеет STATUS элемент
  • , Мое известное - хороший не имеет SEQUENCE элемент

, Так как поддержка Microsoft открытых стандартов имеет тенденцию отставать, я предложил бы пробовать без VERSION информация

0
ответ дан Hank Gay 29 November 2019 в 02:16
поделиться

Я использую перспективу 2003 (от того, чтобы читать сообщения, 2007, кажется, ведет себя таким же образом), и необходимо ясно различать поведение явного импорта файла ics файла и неявный импорт, когда по ics файлу 'дважды щелкают'.

На файле меню Outlook / Импорт и Экспорт... Outlook загрузит столько записей VEVENT, сколько находятся в файле и никакой сумме изменяющегося UID: ПОСЛЕДОВАТЕЛЬНОСТЬ: или DTSTAMP: значения изменяют это, i.e.if Вы изменяют любые данные и повторно импортируют его, Вы просто получаете дублирующийся набор записей.

, Если Вы дважды щелкаете по ics файлу, он обрабатывает первую запись VEVENT только. Однако это действительно распознает UID и, если DTSTAMP: позже (ПОСЛЕДОВАТЕЛЬНОСТЬ может быть тем же, но не ниже), Вам предложат, и это обновит событие в Вашем календаре.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:www.membership-services.net
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20090126T210000
DTEND:20090126T220000
SUMMARY:Avondale - Thameside Away Game vs Croydon
LOCATION:Whitgift School
DESCRIPTION:http://maps.google.co.uk/maps?f=q&hl=en&geocode=&q=CR2+6YT 
UID:AWPC_8
SEQUENCE:0
DTSTAMP:20090123T112600
END:VEVENT
BEGIN:VEVENT
DTSTART:20090202T213000
DTEND:20090202T223000
SUMMARY:Avondale - Thameside Home Game vs Orcas
LOCATION:Putney
DESCRIPTION:http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&ie=UTF8&ll=51.4635,-0.2285&spn=0.005,0.009613&t=h&z=17&iwloc=lyrftr:w2t.90,0x48760f04a04b1801:0x49ebf12503a5d5a9,51.463459,-0.228674 
UID:AWPC_10
SEQUENCE:0
DTSTAMP:20090123T112600
END:VEVENT
END:VCALENDAR
3
ответ дан balexandre 29 November 2019 в 02:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: