feathers-services-instagram-feed
v0.1.1
Published
A FeathersJS service that allows to fetch a given user's Instagram feed via its public endpoints.
Maintainers
Readme
feathers-service-instagram-feed
A FeathersJS service that allows to fetch a given user's Instagram feed via its public endpoints.
Installing
Simply run npm install --save feathers-services-instagram-feed and you're good to go!
Usage
Add the following entry to your app configuration:
"instagram": {
"username": "my_username",
"mountPath": "/ig"
}Where:
usernameis the account from which the service will fetch the mediamountPathis the API's endpoint that will serve the service's response
Then, require the service (if you're using the Feathers CLI, you can do this in your app's services/index.js file):
const instagramFeed = require('feathers-services-instagram-feed');And finally, bind it to the app:
app.configure(instagramFeed);Caching strategy
The service will cache Instagram's response for a lapse of 15 minutes, in order to prevent abuse.
Hey! Where are my hooks?
Don't worry! Despite the service doesn't include hooks by default, you can apply them after the service is configured in your app.
Let's suppose your API uses feathers-hooks-jsonapify(*) and you want the user's Instagram feed also serialized as JSON API.
(*) = shameless self-promotion
The straight-forward way
// app.js, at the "requires" section
const jsonapify = require('feathers-hooks-jsonapify');
// app.js, after `app.configure(services)`
app.service(app.get('instagram').mountPath).hooks({ after: { find: [ jsonapify() ] } });The Feathers CLI way
// services/instagram/instagram.hooks.js
'use strict';
const jsonapify = require('feathers-hooks-jsonapify');
module.exports = {
before: { /* ... */ }
after: {
all: [],
find: [jsonapify()],
get: [],
create: [],
update: [],
patch: [],
remove: []
},
error: { /* ... */ }
};
// app.js, at the "requires" section
const instagramHooks = require('./services/instagram/instagram.hooks');
// app.js, after `app.configure(services)`
app.service(app.get('instagram').mountPath).hooks(instagramHooks);TODOs
Check out the issues.
Feel like contributing?
Knock yourself out! Fork the repo and make a PR.
Licence
MIT
