[CalendarServer-dev] Create Users API

Andre LaBranche dre at apple.com
Thu Mar 31 11:43:47 PDT 2016


Replies inline.

> On Mar 31, 2016, at 6:41 AM, Maximiliano Sbrocca <maximiliano.sbrocca at santexgroup.com> wrote:
> Hello everybody,
>     My name is Maxi and I'm analyzing caldav servers to implement in the company I'm working for. The company has an app where events are created. Once it happen, emails are sent with ICS files. The idea is to also save the events in the caldav server. I've this part working (dev mode) by calling the Darwin API (http://localhost:8008/calendars/users/ <http://localhost:8008/calendars/users/><USER>/calendar/<ICS-File>.ics and the ics file content in the request body). Then users will be able to sync their events against the caldav server. (This is also working. I was able to sync my events using Evolution and Thunderbird).
>      What I need now, is some help with the API part for users creation. 

There is no such API. CalendarServer itself does not act as a directory service; instead it accesses an existing directory service in a read-only fashion to acquire the various record types used by the service. The options for the directory backend are: XML files, such as the ones you see in the SVN checkout under conf/auth, or LDAP.

The calendarserver_manage_princinpals tool does allow for creating location, resource, or 'address' records (address records are used to support newer geo features), but not user records. For production uses, we generally don't recommend using the XML file method as it's not very interoperable. The interoperable, production-grade option is LDAP. You are still free to spin your own workflow around modification of the XML files, which might still be the path of least resistance if you don't need to interoperate with a lot of other things.

Hope this helps,

>      Logged as the admin (admin/admin) I'm making PUT calls to:
> http://localhost:8008/calendars/users/ <http://localhost:8008/calendars/users/>
>      The request header has Authorization - Basic for admin/admin and the body I'm sending is:
> <record type="user">
>     <short-name>maxi.sbrocca</short-name>
>     <uid>maxi.sbrocca</uid>
>     <password>password</password>
>     <full-name>Maxi Sbrocca</full-name>
>     <email>maximiliano.sbrocca at santexgroup.com <mailto:maximiliano.sbrocca at santexgroup.com></email>
>   </record>
>      And the response error I'm getting is:
> <?xml version='1.0' encoding='UTF-8'?>
> <error xmlns='DAV:'>
>     <need-privileges>
>         <resource>
>             <href>/calendars/users/</href>
>             <privilege>
>                 <write-content/>
>             </privilege>
>         </resource>
>     </need-privileges>
> </error>
>     I'm not seeing any console log error:
> 2016-03-31T10:40:24-0300 [caldav-0]  [txweb2.server#info] PUT /calendars/users/ HTTP/1.1
>      Could you please help me to find out what I'm doing wrong?
> Thanks in advance,
> -- 
> Sbrocca Hector Maximiliano
> Software Engineer
> Vélez Sársfield 576  4° piso.  
> Córdoba, Argentina.              
> +54 (0351) 589 7070     
> www.santexgroup.com <http://www.santexgroup.com/>
> Follow us
>  <https://www.facebook.com/SantexGroup>  <https://twitter.com/santexgroup>  <https://plus.google.com/+Santexgroup/posts>  <https://www.linkedin.com/company/129740?trk=tyah&trkInfo=clickedVertical%3Acompany%2CclickedEntityId%3A129740%2Cidx%3A1-1-1%2CtarId%3A1442929736721%2Ctas%3Asantex>  <https://www.youtube.com/user/TheSantexChannel>  <http://santexgroup.com/blog/>_______________________________________________
> calendarserver-dev mailing list
> calendarserver-dev at lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/calendarserver-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-dev/attachments/20160331/f1e5b403/attachment-0001.html>

More information about the calendarserver-dev mailing list