AEM Headless SDK Client NodeJS
npm install @adobe/aem-headless-client-nodejs



See aem-headless-client-java for the Java variant of this client
and aem-headless-client-js for the client-side Browser only variant.
``bash`
$ npm install @adobe/aem-headless-client-nodejs
`javascript`
const { AEMHeadless } = require('@adobe/aem-headless-client-nodejs');`
Configure SDK with serviceURL and Auth data (if needed)javascript`
const aemHeadlessClient = new AEMHeadless({
serviceURL: '
endpoint: '
auth: '
})
// Eg:
const aemHeadlessClient = new AEMHeadless({
serviceURL: AEM_HOST_URI,
endpoint: 'content/graphql/endpoint.gql',
auth: [AEM_USER, AEM_PASS]
})$3
#### Promise syntax:
`javascript
aemHeadlessClient.runQuery(queryString)
.then(data => console.log(data))
.catch(e => console.error(e.toJSON()))
aemHeadlessClient.listPersistedQueries()
.then(data => console.log(data))
.catch(e => console.error(e.toJSON()))
aemHeadlessClient.persistQuery(queryString, 'wknd/persist-query-name')
.then(data => console.log(data))
.catch(e => console.error(e.toJSON()))
aemHeadlessClient.runPersistedQuery('wknd/persist-query-name')
.then(data => console.log(data))
.catch(e => console.error(e.toJSON()))
``
#### Within async/await:javascript
(async () => {
let postData
try {
postData = await aemHeadlessClient.runQuery(queryString)
} catch (e) {
console.error(e.toJSON())
}
let list
try {
list = await aemHeadlessClient.listPersistedQueries()
} catch (e) {
console.error(e.toJSON())
}
try {
await aemHeadlessClient.persistQuery(queryString, 'wknd/persist-query-name')
} catch (e) {
console.error(e.toJSON())
}
let getData
try {
getData = await aemHeadlessClient.runPersistedQuery('wknd/persist-query-name')
} catch (e) {
console.error(e.toJSON())
}
})()
`
Check https://github.com/adobe/aio-lib-core-networking for advanced usage and default settings
If auth param is a string, it's treated as a Bearer token
If auth param is an array, expected data is ['user', 'pass'] pair, and Basic Authorization will be ued
If auth is not defined, Authorization header will not be set
SDK contains helper function to get Auth token from credentials config file
`javascript``
const { getToken } = require('@adobe/aem-headless-client-nodejs')
(async () => {
const { accessToken, type, expires } = await getToken('path/to/service-config.json')
const aemHeadlessClient = new AEMHeadless('content/graphql/endpoint.gql', AEM_HOST_URI, accessToken)
const data = await aemHeadlessClient.runQuery(queryString)
})()
See generated API Reference
Contributions are welcome! Read the Contributing Guide for more information.
This project is licensed under the Apache V2 License. See LICENSE for more information.