雷鸟不会使用自制的军刀后端更新carddav联系人

时间:2018-10-22 21:20:46

标签: php thunderbird carddav sabredav

我尝试编写自己的saber dav carddav后端。目前,我基本上是在源代码中写了一个vcard进行尝试。因此,我扩展了Sabre \ CardDAV \ Backend的AbstractBackend类,并重写了一些功能。

function getCards($addressbookId)
{
    $vcard = new VCard(
        [
            'FN'  => "Max",
            'N'   => ["Max",
                "Luther"],
            "NICKNAME" => "nick",
        ]
    );

    $data = $vcard->serialize();
    return [["carddata" => $data,"uri"=> "nick","lastmodified"=> 101]];
}

还有

function getCard($addressBookId, $cardUri)
{
    $vcard = new VCard(
        [
            'FN'  => "Max",
            'N'   => ["Max",
                "Luther"],
            "NICKNAME" => "nick",
        ]
    );

    $data = $vcard->serialize();
    return ["carddata" => $data,"uri"=> "nick","lastmodified"=> 101];
}

我现在可以用雷鸟来获取地址簿,并在CardBook选项卡上查看联系人。然后,我更改vcard的名称。例如,路德对foo。我还将最后修改的号码更新为102。 现在,我按下了雷鸟中的“同步”按钮,并期望使用新名称更新联系人。相反,现在我有两个联系人。一个带有onld,另一个带有新名称。

我认为我误解了cardDAV系统的某些部分。

有人可以帮我吗

0 个答案:

没有答案