Průvodce novým Instagram Basic Display API

Konec podpory původního API od Instagramu se blíží, proto je potřeba přejít na novější variantu. Pokud na svém webu zobrazujete příspěvky z Instagramu, bude se vám hodit nové Basic Display API. Pro ty náročnější je tu pak Instagram Graph API.

Co budete potřebovat

Vytvořte novou Facebook aplikaci

Po vytvoření aplikace přidejte platformu Website v Basic nastavení a zadejte vaši webovou adresu.

Přidejte produkt Instagram

Vytvořte novou Instagram aplikaci

Přidejte Instagramový účet jako Testera

V nastavení profilu na Instagramu potvrďte pozvánku

Získejte autorizační kód

Upravte následující adresu a zadejte ji do vašeho prohlížeče:

{app-id} naleznete v App Dashboard > Products > Instagram > Basic Display > Instagram App ID. {redirect-uri} URL adresa vašeho webu, kterou jste zadali při zakládání nové aplikace.

Budete přesměrováni na autorizaci Instagramu:

Po úspěšné autorizaci budete přesměrováni na adresu vašeho webu. V přesměrované adrese najdete autorizační kód. Platný je pouze 1 hodinu.

?code=AQDp3TtBQQ…#_

Pozor, znaky #_ k autorizačnímu kódu nepatří, takže pro další práci s kódem je odmažte.

Získejte krátkodobý token

Abyste mohli přistupovat k médiím, budete potřebovat z autorizačního kódu získat token. Doplňte vyznačené údaje a vytvořte POST požadavek:

Odpovědí API by měl být token s platností 1 hodinu:

Získejte dlouhodobý token

Krátkodobý token je sice nejbezpečnější, ale vy budete potřebovat přistupovat k obsahu dlouhodobě. Rozšiřte tedy platnost tokenu:

Tím získáte nový token s expirací 2 měsíce:

Získávejte pravidelně nový token

Příspěvky na webu pravděpodobně potřebujete zobrazovat déle než dva měsíce. Proto si nechávejte pravidelně token prodlužovat. Respektive za pomoci dlouhodobému tokenu získáte nový s platností na další dva měsíce:

Nový token s platností další dva měsíce získáte v odpovědi:

Tuto činnost byste měli dělat systémově. Teoreticky třeba jednou za dva měsíce bez jednoho dne.

Příklad v PHP

*příklad pro ilustraci

Získejte vaše média

Pokud máte vyřešenou práci s tokeny, můžete jednoduše získávat příspěvky z vašeho účtu na Instagramu voláním adresy:

Výstupem je JSON s příspěvky:

I tuto činnost byste měli řídit také trochu s rozvahou. Určitě by web neměl být závislý na načítání obrázků z Instagramu. Navíc volat API při každém requestu na na váš web bude trochu při nejmenším dost pomalé.

Můžete příspěvky stahovat např. CRONem jednou za hodinu a ukládat si je do databáze. Já preferuji ukládání serializovaného pole do souborové cache webu. Většinou nepotřebuji víc jak poslední 4 příspěvky. Navíc se nechci starat o update dat v databázi, když příspěvek z Instagramu zmizí nebo je upraven popisek.

Příklad v PHP

*příklad pro ilustraci

Omezení Instagram Basic Display API

  • Nemáte přístup ke Stories.
  • Nemáte přístup ke komentářům.
  • Nemáte přístup ke statistikám.
  • Média kampaní nejsou k dispozici.

Podrobná dokumentace k Instagram Basic Display API najdete na adrese https://developers.facebook.com/docs/instagram-basic-display-api/

Povedlo se? Dejte vědět do komentáře :)

Lead developer | Beneš & Michl | Czech Republic

Lead developer | Beneš & Michl | Czech Republic