1.4.1 • Published 4 months ago

@ringpublishing/graphql-api-client-got v1.4.1

Weekly downloads
-
License
LGPL-3.0
Repository
github
Last release
4 months ago

@ringpublishing/graphql-api-client-got

Ring Content API Client and Websites API Client will help you to use Ring GraphQL APIs. All you need is your Space UUID and access/secret API keys.

Requirements

Make sure you have NodeJS installed and running in version 14 or above.

Installation

When you have your node running, install our library by running the command:

npm install @ringpublishing/graphql-api-client-got

Introduction

Two clients are available:

  • WebsitesApiClient (api version 2) for Websites API
  • ContentApiClient (api version 2) for Content API
  • VideosApiClient (api version 1) for Videos API

Usage

Look how easy is to use Ring GQL API using this library.

import { gql, WebsitesApiClient } from '@ringpublishing/graphql-api-client-got';

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
                }
            }
        }
    }
`;

const websitesApiClient = new WebsitesApiClient({ accessKey, secretKey, spaceUuid });

try {
    const response = await websitesApiClient.query(query);
    console.log('Data:', response.data);
} catch (err) {
    console.error('Error:', err);
}

Reference

class WebsitesApiClient or ContentApiClient

    constructor:
    {
        spaceUuid (UUIDv4 string) - Websites Space UUID
        accessKey (UUIDv4 string) - Access Key
        secretKey (UUIDv4 string) - Secret Key
        timeout (number, default 1000) - Response timeout
        apiHost (string) - API host, default: api.ringpublishing.com
        apiProtocol: (RingGqlApiProtocol) - API protocol, default: RingGqlApiProtocol.HTTPS
        keepAlive: (boolean) - keep alive connection, default: true
    } 

    methods:
        query<TResponseData, TVariables>(query: DocumentNode, variables?: TVariables): Promise<RingGqlApiClientResponse<TResponseData>>
        {
            query/mutation (DocumentNode): GQL query
            variables (key/value Object): query variables (optional)
        }
1.4.1

4 months ago

1.2.0

9 months ago

1.1.0

10 months ago

1.4.0

6 months ago

1.3.0

9 months ago

1.2.1

9 months ago

1.0.2

12 months ago