Difference between revisions of "Export ical/vcard"

(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...)
 
m (changed user/pw sending in curl)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
this is an example script that is able to get contacts,appointments,tasks as well as the global addressbook ical/vcard format.
+
This is an example script that is able to get contacts,appointments,tasks as well as the global addressbook ical/vcard format.
 +
 
 +
'''NOTE:'''This example does the http request for the login as GET, so user name
 +
and password is logged in the apache log. The example only works for users that
 +
are created with the language en_US
  
 
  ~/bin> ./extract.sh --help
 
  ~/bin> ./extract.sh --help
Line 18: Line 22:
 
  CURL='curl -b cookies -c cookies -H Expect: -s -L --location-trusted -k'
 
  CURL='curl -b cookies -c cookies -H Expect: -s -L --location-trusted -k'
 
   
 
   
  SESSION=`$CURL "$SERVER/ajax/login?action=login&name=$USER&password=$PASSWORD" \
+
  SESSION=`$CURL --data "name=$USER&password=$PASSWORD" "$SERVER/ajax/login?action=login" \
 
         |sed 's/^.*session\":\"\([0-9A-Fa-f]*\)\".*$/\1/'`
 
         |sed 's/^.*session\":\"\([0-9A-Fa-f]*\)\".*$/\1/'`
 
   
 
   
Line 49: Line 53:
 
  $CURL $URL -X GET "$SERVER/ajax/export?action=VCARD&session=$SESSION&folder=6"
 
  $CURL $URL -X GET "$SERVER/ajax/export?action=VCARD&session=$SESSION&folder=6"
 
  echo ------------------------------------------------------
 
  echo ------------------------------------------------------
 +
 +
[[Category: OX6]]
 +
[[Category: Command line]]

Latest revision as of 04:59, 25 January 2018

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

NOTE:This example does the http request for the login as GET, so user name and password is logged in the apache log. The example only works for users that are created with the language en_US

~/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 --data "name=$USER&password=$PASSWORD" "$SERVER/ajax/login?action=login" \
        |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 ------------------------------------------------------