Export ical/vcard

From Open-Xchange
Revision as of 13:48, 25 July 2008 by Holgi (talk | contribs) (New page: this is an example script that is able to get contacts,appointments,tasks as well as the global addressbook ical/vcard format. ~/bin> ./extract.sh --help usage ./extract.sh serverurl us...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

this is an example script that is able to get contacts,appointments,tasks as well as the global addressbook ical/vcard format.

~/bin> ./extract.sh --help
usage ./extract.sh serverurl user password
#!/bin/bash

SERVER=http://your.ox.server
USER=user@context
PASSWORD=userspw

test "$1" = "--help" && echo "usage $0 serverurl user password" && exit 1

test -z $1 || SERVER=$1
test -z $2 || USER=$2
test -z $3 || PASSWORD=$3

CURL='curl -b cookies -c cookies -H Expect: -s -L --location-trusted -k'

SESSION=`$CURL "$SERVER/ajax/login?action=login&name=$USER&password=$PASSWORD" \
        |sed 's/^.*session\":\"\([0-9A-Fa-f]*\)\".*$/\1/'`

echo $SESSION | grep "error" && echo "got no session, login failed" && exit 1

P_FOLDERS=`$CURL -X GET "$SERVER/ajax/folders?action=list&columns=1%2C301%2C300%2C307%2C304%2C306%2C302%2C305%2C308%2C311%2C2%2C314%2C313%2C315&session=$SESSION&parent=1"`

TASK="not found"
TASK=`echo $P_FOLDERS | sed 's/,\"tasks\".*$//' | sed 's/.*\[\([0-9]*\)$/\1/'`
CAL="not found"
CAL=`echo $P_FOLDERS | sed 's/,\"calendar\".*$//' | sed 's/.*\[\([0-9]*\)$/\1/'`
CON="not found"
CON=`echo $P_FOLDERS | sed 's/,\"contacts\".*$//' | sed 's/.*\[\([0-9]*\)$/\1/'`

echo ------------------------------------------------------
echo exporting private task folder $TASK:
echo ------------------------------------------------------
$CURL $URL -X GET "$SERVER/ajax/export?action=ICAL&session=$SESSION&folder=$TASK"
echo ------------------------------------------------------
echo exporting private calendar folder $CAL:
echo ------------------------------------------------------
$CURL $URL -X GET "$SERVER/ajax/export?action=ICAL&session=$SESSION&folder=$CAL"
echo ------------------------------------------------------
echo exporting private contacts folder $CON:
echo ------------------------------------------------------
$CURL $URL -X GET "$SERVER/ajax/export?action=VCARD&session=$SESSION&folder=$CON"
echo ------------------------------------------------------
echo "exporting global address book contacts folder 6:"
echo ------------------------------------------------------
$CURL $URL -X GET "$SERVER/ajax/export?action=VCARD&session=$SESSION&folder=6"
echo ------------------------------------------------------