@openworkspace/contacts
v0.1.1
Published
Google Contacts API client via People API
Maintainers
Readme
@openworkspace/contacts
Google Contacts API client for OpenWorkspace -- search, list, create, directory.
Part of the OpenWorkspace monorepo.
Install
npm install @openworkspace/contacts @openworkspace/coreUsage
import { createHttpClient } from '@openworkspace/core';
import { searchContacts, createContact, listDirectoryPeople } from '@openworkspace/contacts';
const http = createHttpClient({ auth: { accessToken: 'token' } });
// Search contacts
const result = await searchContacts(http, { query: 'Alice' });
if (result.ok) {
for (const person of result.value.results ?? []) {
const name = person.person?.names?.[0]?.displayName;
const email = person.person?.emailAddresses?.[0]?.value;
console.log(name, email);
}
}
// Create a contact
await createContact(http, {
names: [{ givenName: 'Bob', familyName: 'Smith' }],
emailAddresses: [{ value: '[email protected]' }],
});
// List directory (Workspace domain)
const dir = await listDirectoryPeople(http, { sources: ['DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE'] });API
All functions take an HttpClient as the first parameter and return Result<T, E>.
listContacts(http, options)-- List contactsgetContact(http, resourceName)-- Get a contactcreateContact(http, options)-- Create a contactupdateContact(http, options)-- Update a contactdeleteContact(http, resourceName)-- Delete a contactsearchContacts(http, options)-- Search contacts by querylistDirectoryPeople(http, options)-- List domain directorysearchDirectoryPeople(http, query)-- Search domain directorylistOtherContacts(http, options)-- List "other" contactssearchOtherContacts(http, query)-- Search "other" contacts
