Skip to content
This repository has been archived by the owner on Feb 18, 2021. It is now read-only.

Latest commit

 

History

History
153 lines (113 loc) · 3.76 KB

README.md

File metadata and controls

153 lines (113 loc) · 3.76 KB

Build Status

imgurwrap

Description

Imgurwrap is a node.js module for making requests against the Imgur API.

Supports querying the API for image and album data by ID or URL.

How to use

Start by requiring the module

imgurwrap = require('imgurwrap.js');

Basic configuration

imgurwrap.setUserAgent('imgurwrap default useragent v1.1'); // Replace with your UserAgent
imgurwrap.setClientID('eb534344da354de40d90'); // Replace with your CleintID

Data models returned by the API

1. Request an image by ID
imgurwrap.getImageData('lEVc0PF', function(err, res) {
    console.log(res);
});
2. Request an album by ID
imgurwrap.getAlbumData('PzWUu', function(err, res) {
    console.log(res);
});
3. Request an image, multiple images, or an album by URL

The returned model property will be either 'image', 'images', or 'album'

imgurwrap.getURLData('http://imgur.com/lEVc0PF', function(err, res) {
    console.log(res);
    console.log(res.model); // Prints out 'image'
});

imgurwrap.getURLData('http://imgur.com/lEVc0PF,G80OxqS', function(err, res) {
    console.log(res);
    console.log(res.model); // Prints out 'images'
    console.log(res.images[0].model); // Prints out 'image'
});

imgurwrap.getURLData('http://imgur.com/a/PzWUu', function(err, res) {
    console.log(res);
    console.log(res.model); // Prints out 'album'
});
4. Upload an image

From another URL:

imgurwrap.uploadImageURL({
    image: 'http://i.imgur.com/nVQtKSl.jpg',
    title: 'Something good',
    description: 'Something descriptive',
}, function(err, res) {
    console.log(res);
});

From a file:

var imageData = fs.readFileSync(imagePath);

imgurwrap.uploadImageFile({
    image: imageData,
    title: 'Something good',
    description: 'Something descriptive'
}, function(err, res) {
    console.log(res);
});

From a Base64 encoded file:

var imageData = fs.readFileSync(imagePath);

imgurwrap.uploadImageBase64({
    image: imageData,
    title: 'Something good',
    description: 'Something descriptive'
}, function(err, res) {
    console.log(res);
});
5. Delete an image
imgurwrap.deleteImage('lEV3j0PF', function(err, res) {
    console.log(res);
});
6. Request rate limiting information
imgurwrap.getRateLimitingData(function(err, res) {
    console.log(res);
});

For commercial usage, Mashape can be utilized for making requests.

// Replace with your MashapeAuthID
imgurwrap.setMashapeAuthID('cXs47w356nWDx2k9E34G36j4ZHBAdxmZ');

Note that on setting the MashapeAuthID, the endpoint used for making requests will automaticaly be updated to point to the Mashape Imgur endpoint (i.e. https://imgur-apiv3.p.mashape.com/).

Available configuration options

// Replace with your CleintID
imgurwrap.setClientID('eb534344da354de40d90');

// Replace with your MashapeAuthID
imgurwrap.setMashapeAuthID('cXs47w356nWDx2k9E34G36j4ZHBAdxmZ');

imgurwrap.setUserAgent('imgurwrap default useragent v1.1');
imgurwrap.setApiHost('https://api.imgur.com');
imgurwrap.setApiVersion(3);