Recent media from an authorized Instagram user

Get the most recent media published by an authorized user. 

To make pagination work, you must set up a route to use the final segment as a "slug". Here's a screenshot of how this is set up on this site.

Example of setting up a route in Craft CMS

On this code example page, the next page link has been purposely disabled because how how search engines were spidering this site. 

Note: This code example is for Pic Puller for Craft 2. If you're using Craft 3, the only difference is "picpuller" changes to "picPuller". The full Pic Puller for Craft 3 can be found here.


Documentation for this code example: Recent media

The code block below is generating the section that follows it.

{% set nextmaxid = craft.request.getSegment(3) %}

{% for instagramdata in craft.picpuller.media_recent({'user_id' : 1,  'use_stale_cache' : true, 'limit': 4, 'max_id': nextmaxid }) %}

  {% if loop.first %}
    <p>Status: {{ instagramdata.status }}</p>
    <p>Error Type: {{ instagramdata.error_type }}</p>
    <p>Error Message: {{ instagramdata.error_message }}</p>
    <hr>
  {% endif %}

  {% if instagramdata.status == 'true' %}
    <p>Loop Index: {{ loop.index }}</p>
    {% if instagramdata.video_low_resolution != '' %}
      <p>THERE IS VIDEO HERE!</p>
      <p>{{ instagramdata.video_low_resolution }}</p>
    {% endif %}
    <p><img src="{{instagramdata.low_resolution}}" alt='{{instagramdata.caption}}'></p>
    <p>{{ instagramdata.media_id }}</p>
    <p>The Instagram link: {{ instagramdata.link }}</p>
    <p>likes: {{ instagramdata.likes }}</p>
    <p>number of comments: {{ instagramdata.comment_count }}</p>
    <p>caption: {{instagramdata.caption}}</p>
    <p>created_time: {{ instagramdata.created_time }}</p>
  {% else %}
    <p>Error Type: {{ instagramdata.error_type }}</p>
    <p>Error Message: {{ instagramdata.error_message }}</p>
  {% endif %}
  {% if loop.last and instagramdata.next_max_id|default is not empty and craft.request.getSegment(3) is empty %}
    <p><a href="/code/media_recent/{{ instagramdata.next_max_id}}" class='btn btn-default'>NEXT ></a></p>
  {% endif %}

{% endfor %}

Status: 1

Error Type: NoError

Error Message: Nothing wrong here. Move along.


Loop Index: 1

2306707923226598301_1500897

The Instagram link: https://www.instagram.com/p/CADEqJ8gBudaLcmJctXL3nv72bhoO750ZrlW4w0/

likes: 14

number of comments: 0

caption:

created_time: 1589201034

Loop Index: 2

Springing

2283444355031335423_1500897

The Instagram link: https://www.instagram.com/p/B-wbIruA4H__g_cdvLfHVMzL63uSkjCDwOrFDs0/

likes: 18

number of comments: 0

caption: Springing

created_time: 1586427801

Loop Index: 3

Springing

2263469918771357720_1500897

The Instagram link: https://www.instagram.com/p/B9pdeYUJigY_ra8PmWLMu4UhRr7MeoF0zee4Oc0/

likes: 13

number of comments: 0

caption: Springing

created_time: 1584046662

Loop Index: 4

Springing

2241486374064790196_1500897

The Instagram link: https://www.instagram.com/p/B8bW_s3Apq0rLVWLtnK24re7ExZoHbm_mJnvVM0/

likes: 13

number of comments: 0

caption: Springing

created_time: 1581426019

NEXT >

This "next" button is disabled for this code example page.