问题标签 [carddav]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2305 浏览

webdav - 数据如何存储在 CardDav 服务器上?

我想问一个关于服务器数据的问题。我是服务器编程的新手,但我必须了解 CardDav 服务器(CardDav 是由 WebDav 开发的)。

我只知道 CardDav 服务器是用来保存通讯录数据的,但是服务器实际保存的是什么形式的数据(例如 .CSV 或 .txt)?谁能帮我?非常感谢你。

0 投票
2 回答
2171 浏览

webdav - 如何访问 CardDAV 协议的基本 URL?

我想获取一个帐户存在的 vCard。服务器是google.com,我知道用户名/密码。我不知道正确的基本网址是什么。在 google.com 上执行 PROPFIND 会导致服务不可用。我在 icloud CardDAV 上遇到了类似的问题(我通过硬编码完整地址来破解它),这让我相信必须有一种正确的方法来发现基本 url。搜索 RFC 我找不到它。此外,CardDAV 应用程序似乎能够毫无问题地找到数据。有人有想法么?

0 投票
1 回答
880 浏览

ios - 是否可以使用 iOS 上的应用程序修改 CalDAV / CardDav 帐户?

我想知道是否有用于修改 iOS 上的 CalDAV 和 CardDAV 帐户的 API。我正在开发一个应用程序,我希望用户能够简单地启用和禁用日历/联系人同步,而无需在 iOS 设置中手动设置。我知道我可以自带 CalDAV / CardDav 实现并使用 EventKit / 地址簿 api 进行同步,但我想避免这种实现,因为它会比使用默认的 CalDav / CardDAV 更加困难和容易出错iOS的实现。

非常感谢您的回答。

0 投票
1 回答
632 浏览

ios - 是否可以使用 ABPersonViewController 从我的 iOS 应用程序更新链接的联系人?

我的应用程序允许用户从他们的通讯录中导入联系人并将其存储在我们的 CardDAV 服务器中。我想让我们 CardDAV 服务器上的联系人与地址簿中的所有其他链接联系人(例如 iCloud)保持同步。

使用通讯簿的统一联系人视图编辑联系人时,所有链接的联系人都会更新。我想让我的应用程序的用户在不离开应用程序的情况下做同样的事情。ABPersonViewController 是否具有与原生 iOS 通讯录相同的功能,可以使用“统一视图”更新所有链接的联系人?

控制器有一个名为 shouldShowLinkedPeople 的属性,但我不确定它实际上做了什么。

0 投票
2 回答
639 浏览

relationship - 我可以在 CardDAV 服务器上创建 vCard 之间的关系吗?

很惊讶我在这里找不到类似的问题。

我正在寻找一种在人与人之间建立关系(父亲/姐妹/妻子等)的方法,最好是在 vCard 中。我可以很容易地创建一个保存关系的数据库,但是该应用程序将不遵守标准或建议。

有人知道相关的标准或建议吗?

0 投票
1 回答
766 浏览

http - 如何在 CardDAV (WebDAV) REPORT 请求中进行高级过滤

我的电子名片有一个 CATEGORIES 属性,它有一个逗号分隔的值列表。我想要的是在这个逗号分隔的列表中的某处获取所有具有传递值的电子名片。

我正在尝试使用过滤器执行 CardDAV REPORT 请求来完成此操作:

这个过滤器的问题是它会匹配属性中任何位置传递的值,这意味着它也会匹配另一个值中的值,例如:

如果我搜索“朋友”,它将匹配“工作、朋友、同事”以及“工作、足球朋友、同事”。

我找不到使用 WebDAV 过滤器在逗号分隔列表中仅获取“完整”值的方法。

0 投票
1 回答
1263 浏览

vcf-vcard - Google CardDAV 更改 vCard UID

我正在将 Google CardDAV 与我的 webApplication 集成。当我对新的 vCard 进行 PUT 操作时,有时会遇到一个奇怪的问题。
如果 vCard 包含 UID 并且 UID 是 GUID,Google 会将 vCard UID 更改为 16 字符 UID。

例如:这是我原来的电子名片

BEGIN:VCARD
版本:3.0
N:Pinch;David;;;
FN:David Pinch修订
版:2013-01-09T09:26:34Z
UID: 6c34bedcf256408780d8ffe269ec2b3b
END:VCARD

所以我把它放到谷歌 CardDAV 中,放到当前的 url 中:

https://www.google.com/m8/carddav/principals/__uids__/myusername@gmail.com/lists/default/6c34bedcf256408780d8ffe269ec2b3b _

结果还可以,而且联系人确实是在 Google 通讯录上创建的。
但是:
如果“现在”我从同一个 URL 检索当前的 vCard,我有以下响应。

BEGIN:VCARD
版本:3.0
N:Pinch;David;;;
FN:David Pinch版本
:2013-01-09T09:44:25Z
UID: 716212e795884e43
END:VCARD

可以看到 UID 已经改变并从原来的传递过来了

UID:6c34bedcf256408780d8ffe269ec2b3b

UID:716212e795884e43

奇怪的是,如果我用以下请求检索卡

https://www.google.com/m8/carddav/principals/__uids__/myusername@gmail.com/lists/default/716212e795884e43 _

我有完全相同的响应,就像 vCard 引用了两个不同的路径 URL。

但是,当我从 CardDAV 检索联系人列表时,这将返回第二个 URL。
如果我没有创建带有 GUID 而是 16 字符 UID 的 vCard,似乎 Google 接受了这一点,但有时它会改变,所以我不能确定卡片的唯一性。
一种解决方法似乎是在每次 PUT 后重新下载 vCard,但这会导致我想避免的重要负载。

我对 iCloud CardDAV 使用相同的程序,但没有发生这种情况。
任何人都可以帮助我吗?

0 投票
2 回答
358 浏览

android - android中有没有类似于Cal/CardDAV的东西

我有一个专为 iOS 设计的应用程序。我有 CalDAV 和 CardDAV 功能作为它的一部分,用于将事件和联系人从我的应用程序同步到设备。我现在正在创建一个 android 应用程序,想知道是否有类似的东西。提前致谢。

0 投票
1 回答
891 浏览

android - 无法理解 Android 中的日历和联系人数据(内容提供程序)

我用 PHP 构建了一个 CalDAV/CardDAV 服务器。下一步是创建一个 Android 客户端(不能使用现有的)。

我以前从未为 Android 开发过,所以我正在为这类项目寻找最佳方法。

我已经阅读了http://developer.android.com,但还是有点模糊。我最大的问题是:在 Android 中重用现有的日历/联系人应用程序或自己动手是否有意义?

  • 我希望从与日历/联系人相同的屏幕访问我的同步功能/设置。 这可能与默认日历/联系人应用程序(即某种插件)
  • 简短的故事是从 CalDAV/CardDAV 服务器检索/推送到的数据将采用 .ics 和 .vcf 格式。 我有点不清楚这将如何与“内容提供者”一起使用。

因此,在同步时,是否会从 .ics/.vcf 中的服务器中提取数据,映射到“内容提供程序”并保存?或者反之,新保存到Content Provider的数据会不会被转换成.ics/.vcf,然后推送到服务器?

0 投票
1 回答
1112 浏览

php - sabredav carddav 不能在 ios 上工作,几乎不能在 android 上工作

我正在将 sabredav 集成到我的 web 应用程序中,我的应用程序 -> sabredab 之间的连接似乎很好。使用浏览器,我可以获得所需的所有电子名片。

当我使用 url 在 Android 上

它完美同步

但是在 ios (6) 上,它位于 example.org/.well-known/carddav

我已将其重定向到 example.org/sabredavcontroller/index/ 但随后它什么也不做,并尝试其他也不起作用的 url 并出错。

这是 ios 尝试为 carddav 设置帐户时的访问日志:

(澄清一下:第一行是通过重定向找出 sabredav 的根:301 第二行是对根的请求,但它需要用户名/密码 第三行与第二行相同,但需要身份验证,然后放弃此网址并尝试其他选项)

第三行的结果是,将 curl 与以下命令一起使用:

-

谁能给我一些可能出错的提示?

附言。我正在使用 SabreDAV http://sabre.io/我还不能创建一个新标签,因为声誉的原因