All Projects → rlancer → gapi-to-graphql

rlancer / gapi-to-graphql

Licence: other
Converts any Google Data Api to GraphQL

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to gapi-to-graphql

Gpup
A command to upload photos and movies to Google Photos Library using the official Google Photos Library API
Stars: ✭ 197 (+140.24%)
Mutual labels:  google-api
Builderbook
Open source web application to learn JS stack: React, Material-UI, Next.js, Node.js, Express.js, Mongoose, MongoDB database.
Stars: ✭ 3,015 (+3576.83%)
Mutual labels:  google-api
grasp
Essential NLP & ML, short & fast pure Python code
Stars: ✭ 58 (-29.27%)
Mutual labels:  google-api
Gam
command line management for Google Workspace
Stars: ✭ 2,558 (+3019.51%)
Mutual labels:  google-api
React Native Google Sign In
React Native Wrapper for Latest Google Sign-In OAuth SDK / API
Stars: ✭ 213 (+159.76%)
Mutual labels:  google-api
FusedBulb
Location fetch library.
Stars: ✭ 22 (-73.17%)
Mutual labels:  google-api
Angular Google Gapi
An AngularJS module for using all Google Apis and your Google Cloud Endpoints (Google App Engine) with OAuth. This module uses Google APIs Client Library for JavaScript, available for all GApis.
Stars: ✭ 176 (+114.63%)
Mutual labels:  google-api
google-api-typings-generator
Updated and fixed version of TypeScript typings for Google APIs generator
Stars: ✭ 42 (-48.78%)
Mutual labels:  google-api
Google Dotnet Samples
Unoffical Samples for the Google APIs .Net client library.
Stars: ✭ 217 (+164.63%)
Mutual labels:  google-api
google-oauth2-web-client
Login with Google using OAuth2 for client-side web app
Stars: ✭ 32 (-60.98%)
Mutual labels:  google-api
Gopherlabs
Go - Beginners | Intermediate | Advanced
Stars: ✭ 205 (+150%)
Mutual labels:  google-api
Spring Social Google
Spring Social extension with connection support and an API binding for Google
Stars: ✭ 209 (+154.88%)
Mutual labels:  google-api
handprint
Apply different text recognition services to images of handwritten documents.
Stars: ✭ 127 (+54.88%)
Mutual labels:  google-api
Saas
Build your own SaaS business with SaaS boilerplate. Productive stack: React, Material-UI, Next, MobX, WebSockets, Express, Node, Mongoose, MongoDB. Written with TypeScript.
Stars: ✭ 2,720 (+3217.07%)
Mutual labels:  google-api
TradeByte
💸 TradeByte - Stocks Trading Simulation WebApp
Stars: ✭ 30 (-63.41%)
Mutual labels:  google-api
Psgsuite
Powershell module for Google / G Suite API calls wrapped in handy functions. Authentication is established using a service account via P12 key to negate the consent popup and allow for greater handsoff automation capabilities
Stars: ✭ 184 (+124.39%)
Mutual labels:  google-api
HighlightTranslator
Highlight Translator can help you to translate the words quickly and accurately. By only highlighting, copying, or screenshoting the content you want to translate anywhere on your computer (ex. PDF, PPT, WORD etc.), the translated results will then be automatically displayed before you.
Stars: ✭ 54 (-34.15%)
Mutual labels:  google-api
JFXGoogleDrive
A JavaFX Google Drive Client (For Demonstration Purposes Only).
Stars: ✭ 29 (-64.63%)
Mutual labels:  google-api
google maps
🗺 An unofficial Google Maps Platform client library for the Rust programming language.
Stars: ✭ 40 (-51.22%)
Mutual labels:  google-api
google-it-telegram-bot
🤖 @Google_itBot 🔎 Search and share LINKS/IMAGES/VIDEOS in inline mode
Stars: ✭ 40 (-51.22%)
Mutual labels:  google-api

npm version Collaborizm

Gapi to GraphQL

Converts almost any Google Data API to a GraphQL API via the Google API Discovery Service

Limitations

  • Read only
  • No downloading (think Drive documents ... )

Supports 138 Google APIs!

Full list of APIs and their require() path

Usage

npm i gapi-to-graphql --save

Example on the server

index.mjs

import { gql, ApolloServer } from 'apollo-server'
import gapiToGraphQL from 'gapi-to-graphql'
import YouTubeAPI from 'gapi-to-graphql/google_apis/youtube-v3'

const { schema, resolvers } = gapiToGraphQL({ gapiAsJsonSchema: YouTubeAPI })

const server = new ApolloServer({
  typeDefs: gql`
    ${schema}
  `,
  resolvers
})

server.listen({ port: 3031 }).then(({ url }) => {
  console.log(`🚀  Server ready at ${url}`)
})

Run example with node --experimental-modules index.mjs

Query usage

{
  YoutubeApi(key: "YOUR_API_KEY") {
    search {
      list(q: "graphql", part: "snippet") {
        items {
          id {
            videoId
          }
          snippet {
            title
            thumbnails {
              default {
                url
              }
            }
          }
        }
      }
    }
  }
}

Live example YouTube Hunt (Client and Server)

temporarily down. Going to redploy to Heroku Soon!

GitHub: https://github.com/rlancer/yt-gql-example

UI: https://youtube-gql-example.appspot.com/

GraphiQL: https://youtube-gql-example.appspot.com/graphql

GraphiQL with a query: URL too long!

youtubehunt

FAQ

Should this API be exposed to web clients

Yes, but be sure to add API keys and sanitize other parameters via a middleware solution like https://www.npmjs.com/package/graphql-add-middleware

Can I use this in production

Yes, since all its doing is making API calls it's fairly safe to use in production if your use cases have been well tested in development.

Contributors

Pull requests welcome! Join the project on Collaborizm

License

gapi-to-graphql is MIT licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].