addressBookMultiGet
addressBookMultiGet
addressBookMultiGet is used to retrieve specific address object resources from within a collection.
If the Request-URI is an address object resource. This report is similar to the addressBookQuery except that it takes a list of vcard urls, instead of a filter, to determine which vcards to return.
// fetch 2 specific vcards from one addressBook
const vcards = await addressBookMultiGet({
url: 'https://contacts.icloud.com/1234567/carddavhome/card/',
props: {
[`${DAVNamespaceShort.DAV}:getetag`]: {},
[`${DAVNamespaceShort.CARDDAV}:address-data`]: {},
},
objectUrls: [
'https://contacts.icloud.com/1234567/carddavhome/card/1.vcf',
'https://contacts.icloud.com/1234567/carddavhome/card/2.vcf',
],
depth: '1',
headers: {
authorization: 'Basic x0C9ueWd9Vz8OwS0DEAtkAlj',
},
});
Arguments
urlrequired, url of CARDDAV serverobjectUrlsrequired, urls of vcards to getpropsrequired, CARDDAV prop element in ElementCompact formfiltersCARDDAV filter element in ElementCompact form, overriding default filtersdepthrequired, DAVDepth of the requestheadersrequest headersheadersToExcludearray of keys of the headers you want to excludefetchOptionsoptions to pass to underlying fetch function
Return Value
array of DAVVCard
Behavior
send carddav:addressbook-multiget REPORT request and parse the response xml to extract an array of DAVVCard data.