giphy-api-without-credentials
v1.1.0
Published
Node.js Giphy API, modified to fix CORS errors in browser apps
Downloads
12
Maintainers
Readme
giphy-api-without-credentials
Simple to use Node.js module for the giphy.com API. All search parameters and endpoints can be found on the Giphy API documentation.
This version is a minor tweak of Austin Kelleher's giphy-api module that simply sets withCredentials
to false
in the HTTP request.
Are you seeing this error in your browser app?
A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true.
If so, this right here is the module you're looking for.
Installation
npm i giphy-api-without-credentials -S
Importing
Since the original module receives the API key by invocation which is not supported by ES6 import
, you'll have to use require()
// If you have your own API key, use import the module like this
const giphy = require('giphy-api-without-credentials')('API KEY HERE');
// If you're using the public api key you can just invoke without an argument
const giphy = require('giphy-api-without-credentials')();
Phrase search
Search all Giphy GIFs for a word or phrase. Supported parameters:
- q - search query term or phrase
- limit - (optional) number of results to return, maximum 100. Default 25.
- offset - (optional) results offset, defaults to 0.
- rating - limit results to those rated (y,g, pg, pg-13 or r).
- fmt - (optional) return results in html or json format (useful for viewing responses as GIFs to debug/test)
// Search with a plain string
giphy.search('pokemon', function(err, res) {
// Res contains gif data!
});
// Search with options
giphy.search({
q: 'pokemon',
rating: 'g'
}, function(err, res) {
// Res contains gif data!
});
Giphy Id search
Search all Giphy gifs for a single Id or an array of Id's
//Search with a single Id
giphy.id('feqkVgjJpYtjy', function(err, res) {
});
// Search with an array of Id's
giphy.id([
'feqkVgjJpYtjy',
'7rzbxdu0ZEXLy'
], function(err, res) {
});
Translate search
Experimental search endpoint for gif dialects. Supported parameters:
- s - term or phrase to translate into a GIF
- rating - limit results to those rated (y,g, pg, pg-13 or r).
- fmt - (optional) return results in html or json format (useful for viewing responses as GIFs to debug/test)
// Translate search with a plain string
giphy.translate('superman', function(err, res) {
});
// Translate search with options
giphy.translate({
s: 'superman',
rating: 'g',
fmt: 'html'
}, function(err, res) {
});
Random
Random gif(s) filtered by tag. Supported parameters:
- tag - the GIF tag to limit randomness by
- rating - limit results to those rated (y,g, pg, pg-13 or r).
- fmt - (optional) return results in html or json format (useful for viewing responses as GIFs to debug/test)
// Random gif by tag
giphy.random('superman', function(err, res) {
});
// Random gif with options
giphy.random({
tag: 'superman',
rating: 'g',
fmt: 'json'
}, function(err, res) {
});
Trending
Trending gifs on The Hot 100 list
- limit (optional) limits the number of results returned. By default returns 25 results.
- rating - limit results to those rated (y,g, pg, pg-13 or r).
- fmt - (optional) return results in html or json format (useful for viewing responses as GIFs to debug/test)
// Trending Hot 100 gifs
giphy.trending(function(err, res) {
});
// Trending Hot 100 gifs with options
giphy.trending({
limit: 2,
rating: 'g',
fmt: 'json'
}, function(err, res) {
});
Stickers
Animated stickers are gifs with transparent backgrounds. All giphy-api functions
support stickers except id, which is not a supported Giphy sticker endpoint.
In order to use the sticker API instead of the gif API, simply pass the api
property to a giphy-api function.
giphy.search({
api: 'stickers',
q: 'funny'
}, function(err, res) {
});