TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Google's CardDAV server isn't standards compliant (2014)

240 点作者 bariumbitmap超过 7 年前

14 条评论

jacquesm超过 7 年前
I can confirm just about all of this because of a recent job in this space. Whatever you do, do not do <i>two way</i> sync with Google&#x27;s CardDAV servers or you will end up with a lot of lost data.<p>I wonder if they should even be allowed to call it CardDAV since you&#x27;d expect it to actually adhere to the standard.<p>Google is large enough not to care about this though, as long as it works with their address books on Android phones it is probably good enough for them.<p>Note that this post seems to be from 2014 and the situation isn&#x27;t much better today!
评论 #16413033 未加载
评论 #16412906 未加载
评论 #16413042 未加载
nolok超过 7 年前
I think to get past such issues with providers like this, you first need to understand what it is and what it is not.<p>Forget the brochure, the ads and the nice tutorial, those are NOT CardDAV&#x2F;SMTP&#x2F;IMAP&#x2F;... servers. What they are instead are ways to access their own proprietary special thing using standard protocols that your software and tools already supports, if you can&#x27;t use the dedicated api.<p>It applies to pretty much every system for which Google has made their own thing, with their own api (contact api, mail api, ...), and then offer an alternate way to access their system by standard protocols.<p>And what this means is that the ruling system is the underlying one, the one which can be accessed in several ways, including that standard protocol. If their contact system discards the field &quot;foobar&quot; because it doesn&#x27;t want it, then it doesn&#x27;t matter if CardDAV says it should be kept.<p>Sure Google should totally make this clearer, and sure as an user I&#x27;m not a big fan, and yes I totally understand and agree with the &quot;but as a result they break the standard, lose data and cause unexpected behavior and that&#x27;s terrible&quot;, but from a purely engineering perspective it also makes total sense as to why those things happen this way, and is actually rather predictable.<p>You&#x27;re feeding data to a special system that just so happens to have a CardDAV&#x2F;SMTP&#x2F;IMAP&#x2F;... endpoint plugged on top of it. Of course that endpoint doesn&#x27;t rule how the special system will behave.<p>And frankly any one who has had to build&#x2F;support that kind of &quot;api on top of an api&quot; for some time has faced that sort of situation before.<p>In fact you don&#x27;t need to go that far; I mean how many of your web applications take PUT or DELETE requests ? The HTTP protocol certainly says it should work and the http server you&#x27;re using supports it. And let&#x27;s not talk about all those sites that give a full page answer to a HEAD request.<p>PS: again, I am most definitely NOT saying I like that it works that way, I&#x27;m just saying ... &quot;well no big surprise there&quot;.
评论 #16414333 未加载
Tepix超过 7 年前
Quote from the DAVdroid project:<p>Address books, calendars and task list contain private and sensitive data by their nature. We believe that individuals and companies should be able to be in full control of their own data. This means the freedom to choose where and how the data are stored, and freedom in choice of software. CalDAV&#x2F;CardDAV are open protocols and thus can be used with various server and client software.<p>Setting up your own CalDAV + CardDAV server such as Radicale is easy. Chances are if you are reading HN, you can do it yourself. Do it.
评论 #16413638 未加载
评论 #16413527 未加载
评论 #16415819 未加载
评论 #16413201 未加载
评论 #16413535 未加载
smhg超过 7 年前
Slightly related: try to sync an external calendar feed in iCalendar format (also used in CalDAV) with Google Calendar.<p>Google Calendar will use random intervals to synchronize. Often taking more than 24 hours... which is, in most use cases, quite useless.<p>Sync in the same way with Facebook&#x27;s event feed (same format) and changes appear within minutes.<p>This has been the case for years. Google Groups are full of questions about this.<p>I don&#x27;t want to demand anything from a free product (Google Calendar is very useful in many ways). But somehow some feedback about &#x27;shortcomings&#x27; like these would be hugely appreciated.
gumby超过 7 年前
This (good, but sad article) is actually about &quot;How&quot; it&#x27;s different, not &quot;Why&quot;.<p>Why don&#x27;t they care at all about standards? I don&#x27;t know; they talk a good game. At least some companies who violate standards are open about it -- Google trumpets it but often simply pays lip service.
yosamino超过 7 年前
&gt; this isn’t just a 400 Bad Request [...] Any (valid) vCard that the CardDAV server does not understand, will result in our HTTP requests timing out<p>That&#x27;s just terrible. Why would such a thing be implemented ?<p>The only valid explaination I can think of, is to deter abuse. But even for that there are better solutions than this.
评论 #16413652 未加载
captn3m0超过 7 年前
Relevant: The author of the post worked on Sabre&#x2F;dav, an open source CardDAV&#x2F;CalDAV server (linked at bottom of the post). Unfortunately, it is no longer under development: <a href="http:&#x2F;&#x2F;sabre.io&#x2F;blog&#x2F;2017&#x2F;development-on-hold&#x2F;" rel="nofollow">http:&#x2F;&#x2F;sabre.io&#x2F;blog&#x2F;2017&#x2F;development-on-hold&#x2F;</a>
评论 #16414346 未加载
drawkbox超过 7 年前
Google doesn&#x27;t like existing standards, and have generally been bad stewards of their power in that place, they like to make new ones though that they expect everyone to jump on. I am wondering if the engineers and product developers are still in charge at Google?
splitrocket超过 7 年前
Ahh, the good old days of “embrace and extend” are back.<p>Delightful.
nik736超过 7 年前
In the CalDAV space a lot of people do whatever they want, so there is a standard but most people are not compliant with it.<p>I would imagine the same is true for CardDAV, not only at Google.
privateSFacct超过 7 年前
My impression is that<p><a href="https:&#x2F;&#x2F;developers.google.com&#x2F;people&#x2F;v1&#x2F;libraries" rel="nofollow">https:&#x2F;&#x2F;developers.google.com&#x2F;people&#x2F;v1&#x2F;libraries</a><p>Is the current recommended solution for this sort of thing.<p>Libraries look to be available for<p>GO JAVA JAVASCRIPT .NET NODE.JS OBJ-C PHP PYTHON RUBY<p>and you can roll your own using HTTP.<p>CardDAV is not well maintained, and even the contacts API using GData is superseded with the above.<p>With over 1 billion active users - my guess is engineering efforts are focused on serving that customer base, especially the growth in paying customers through google apps. Not sure where strict compliance with CardDAV would fall in the analysis.<p>A note that actually using some of these API&#x27;s through their client libraries isn&#x27;t totally the nightmare described - though my experience is very limited.
thrillgore超过 7 年前
I get the sense that Google cared about open protocols, and then Android changed that, to simply being another mechanism to lock users into their walled garden.
评论 #16413670 未加载
torarnv超过 7 年前
Tangent: What are people&#x27;s experience with Google&#x27;s CalDAV support? Is it just as bad?
评论 #16414267 未加载
forgotmypw超过 7 年前
Embrace, Extend, Extinguish.