Instagram Api guzzle endpoint plugin for JS to consume as AJAX
This plugin requires Craft CMS 3.0.0-beta.23 or later.
To install the plugin, follow these instructions.
-
Open your terminal and go to your Craft project:
cd /path/to/project
-
Then tell Composer to load the plugin:
composer require admench/instagram-api
-
In the Control Panel, go to Settings → Plugins and click the “Install” button for Instagram Api.
Simple Instagram Api endpoint for Craft CMS - intended for Javascript to consume as AJAX post request, returning users feed
Make sure you create a .env
variable with your Instagram Access Token as INSTAGRAM_ACCESS_TOKEN
Here is an example Vue Component which consumes the endpoint /actions/instagram-api/feed
:
<script>
export default {
props: ["csrfToken"],
data() {
return {
instagramFeed: {
data: [],
meta: {
code: null
},
pagination: {}
}
};
},
created() {
var qsparams = qs.stringify({
CRAFT_CSRF_TOKEN: this.csrfToken
});
axios
.post("/actions/instagram-api/feed", qsparams)
.then(response => {
this.instagramFeed = response.data;
})
.catch(e => {
this.instagramFeed = e;
console.log("error: " + e);
console.log(e);
});
},
computed: {
feedReady() {
return true;
return this.instagramFeed.meta.code == 200;
}
}
};
</script>
<template>
<div>
<transition name="bounce-left">
<div v-if="feedReady">
<img v-for="post in instagramFeed.data" :src="post.images.thumbnail.url" alt="">
</div>
</transition>
<pre>
{{ instagramFeed }}
</pre>
</div>
</template>
Some things to do, and ideas for potential features:
- Release it
Brought to you by Adam Menczykowski