| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Ring GraphQL API clients will help you to use Ring GraphQL APIs, including Content API, Websites API, Videos API, and Ring Modules Framework API. All you need is your Space UUID and access/secret API keys.
Make sure you have NodeJS installed and running in version 14 or above.
When you have your node running, install our library by running the command:
npm install @ringpublishing/graphql-api-clientFour clients are available:
Look how easy is to use Ring GQL API using this library.
import { WebsitesApiClientBuilder, gql } from '@ringpublishing/graphql-api-client';
const accessKey = process.env.ACCESS_KEY!;
const secretKey = process.env.SECRET_KEY!;
const spaceUuid = process.env.SPACE_UUID!;
console.log('ARGUMENTS:', space, access, secret);
const query = gql`
query {
name,
stories(limit: 2) {
edges {
node {
title
}
}
}
}
`;
type StoriesResponse = {
stories: {
edges: [{
node: {
title: string
}
}]
}
};
type Variables = Record<string, unknown>;
const websitesApiClient = new WebsitesApiClientBuilder({ accessKey, secretKey, spaceUuid }).buildApolloClient();
try {
const response = await websitesApiClient.query<StoriesResponse, Variables>({ query });
console.log('Data:', response.data.stories);
} catch (err) {
console.error('Error:', err);
}class WebsitesApiClientBuilder or ContentApiClientBuilder or ModulesFrameworkApiClientBuilder or VideosApiClientBuilder
constructor:
{
spaceUuid (UUIDv4 string) - Websites Space UUID
accessKey (UUIDv4 string) - Access Key
secretKey (UUIDv4 string) - Secret Key
compressReqBody (boolean) - compress request body, default: true
}
methods:
buildApolloClient(): ApolloClient<NormalizedCacheObject>: Return ApolloClient with defined params
setTimeout(timeout: number): Set timeout (default is 1000ms)
setRetry(retry: RingGqlApiClientRetryOptions): set retry options (default is: { delay: 1000ms, maxAttempts: 3 })
setCache(cache: ApolloCache<NormalizedCacheObject>): (only ApolloClient) set cache option (default used Apollo InMemoryCache)
setBatch(batch: RingGqlApiClientBatchOptions): (only ApolloClient) set batch options, when you need to use batch calls, example: { batchMax: 5, batchInterval: 20 })
- batchMax: No more than 5 operations per batch (default 5)
- batchInterval: Wait no more than 20ms after first batched operation (default 20ms)
setApiHost(apiHost: string): set API host (default is: api.ringpublishing.com)
setApiProtocol(apiProtocol: RingGqlApiProtocol): set api protocol (default is RingGqlApiProtocol.HTTPS)
setApolloClientAdditionalOptions(options: ApolloClientOptions<NormalizedCacheObject>): set additional options for ApolloClient
| Back | FazBrowse Home | New Git URL |