graphql-spotify

0.44.3 • Public • Published

GraphQL Spotify: Spotify API GraphQL Schema and Resolvers Built with GraphQL.js

npm version

Refer to src/schema/RootQuery.js for operations currently supported.

Deployed Example App Powered By GraphQL Spotify And Its Source Code

Getting started

import { makeSchema } from "graphql-spotify"
let token;
//... somewhere the Spotify token is gotten from the context
const schema = makeSchema(token)
// pass the schema to your favorite server that accepts GraphQL.js Schemas

Make sure the token obtained has the correct scope, certain queries and mutations require different scopes from Spotify

Getting started with apollo-server-express

npm install --save graphql dataloader graphql-tools isomorphic-fetch body-parser apollo-server-express express graphql-spotify

ES6
import { makeSchema } from "graphql-spotify";
import { graphqlExpress } from 'apollo-server-express';
import express from 'express';
import bodyParser from 'body-parser'
// Initialize the app
const port = parseInt(process.env.PORT, 10) || 3000
const app = express();
// bodyParser is needed just for POST.
app.use(
    '/graphql',
    bodyParser.json(),
    graphqlExpress(req => {
        let token;
        //... somewhere the spotify token is gotten from the context
        const schema = makeSchema(token)
        return { schema }
    }));
// GraphiQL, a visual editor for queries
app.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql' }));
app.listen(port, (err) => {
    if (err) throw err
    console.log(`> Ready on http://localhost:${port}/graphql`)
})
ES5
const makeSchema = require("graphql-spotify").makeSchema;
const graphqlExpress = require('apollo-server-express').graphqlExpress;
const express = require('express');
const bodyParser = require('body-parser')
// Initialize the app
const port = parseInt(process.env.PORT, 10) || 3000
const app = express();
// bodyParser is needed just for POST.
app.use(
    '/graphql',
    bodyParser.json(),
    graphqlExpress(req => {
        let token;
        //... somewhere the spotify token is gotten from the context
        const schema = makeSchema(token)
        return { schema }
    }));
// GraphiQL, a visual editor for queries
app.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql' }));
app.listen(port, (err) => {
    if (err) throw err
    console.log(`> Ready on http://localhost:${port}/graphql`)
})

Contribute

Anyone is welcome! Take a look at Roadmap.md for PR ideas and file some issues!

Used By

Created By

Sitian Liu

Readme

Keywords

none

Package Sidebar

Install

npm i graphql-spotify

Weekly Downloads

2

Version

0.44.3

License

MIT

Last publish

Collaborators

  • goldensunliu