Na webech s Drupalem i bez něj jsem používal povedenou knihovnu jquery.instagramFeed, případně její podobu nevyžadující jQuery. Implementace byla snadná pro vývojáře, a ještě jednodušší pro klienta, kterému web stavíte. Jediné, co musel dodat, byl název instagramového účtu.
Bohužel, kvůli změnám na Instagramu je s tím nyní konec. Pro mě to znamená opravy hned několika webů a obtěžování klientů s tím, aby dodali potřebné autorizační tokeny, případně přístupy k jejich účtům na Facebooku a Instagramu, abych mohl vytvořit potřebné.
Používáte Drupal? Já jsem měl oblíbený modul Simple Instagram Feed Block. Byl založen na zmíněné javascriptové knihovně a už nefunguje. Jako rychlou alternativu zkuste modul Instagram Lite. Neobjede se ale bez onoho tokenu.
Jak získat token pro přístup k feedu na Instagramu?
Detailní návod popisuje příručka na webu Facebook for Developers. Vývojář by to měl zvládnout. Ale protože nechci po klientech jejich přístupy k Facebooku a Instagramu, potřebuji, aby si sami zvládli založit apku a autorizovat její přístup ke svému Instagramu. Ten návod je příliš technicky složitý a příliš anglický. Pokusil jsem se jej tedy zjednodušit v češtině:
Abych pravdu řekl, s požadavkem ke svým klientům končím u bodu 10 a zbylou část už řeším sám. Málokdo má klienta, který bude někde spouštět curl nebo se jinak dotazovat API.
Jasně, jsou tu možnosti jako zpřístupnění Facebookové appky vývojáři, kterého tam klient přidá jako dalšího administrátora. Jenže to vyžaduje, aby s klientem byli na Facebooku přátelé, což není vždy žádoucí. Navíc já chci, aby to klienti měli kompletně pod svou kontrolou a nebyli závislí na programátorovi.
Pozor. Nezapomeňte, že autorizační kód pro získání Instagram Tokenu má platnost omezenou na hodinu. Pokud po jeho získání v kroku 10 neprovedete zbytek postupu dostatečně rychle, budete muset u autorizační kód požádat znovu.
Škoda, že Facebook toto tak komplikuje a nenalezl za celou dobu přívětivější cestu, jak uživatelům feed z Instagramu zpřístupnit.
Tip: jednodušší možností je vytvoření iframe (pokud vám nevadí) pomocí služby Light widget. Umožňuje naklikat různé nastavení vzhledu a podle mých informací také upozorní na blížící se nutnost refreshe tokenu každé tři měsíce.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.
Podobné články
Komentáře k článku
Chtělo by to návod upřesnit, už bod 3 je jiný než mám např. já.
Přidal jsem screenshot.
Díky :) to jsem našel, pak dál se mi to rozchází. Nicméně netřeba to dále upravovat, vzhledem k složitosti a také neustálému obnovování tokenu na to kašlu.
Tuhle ideologii podporovat nechci.
PS. Systém neposílá upozornění na nové komentáře?
Přesně, stejně jako Ty. Já chtěl načítat FB příspěvky ze zdi na svém Polzer.cz, ale ke schválení appky nikdy nedošlo :-)
Ještě jedna věc, není ten token dočasný a nemusí se to provádět pokaždé po expiraci, která je tuším hodinu nebo něco takového?
Máte pravdu, do článku jsem doplnil. Získaný token je tzv. short-live a platí hodinu. Na jeho základě pak lze získat 60denní long-live token, který lze případně refreshovat a platnost mu prodlužovat o dalších 60 dní.
Tak už vím proč jsem použil tu knihovnu, proč to API a celkově věci kolem toho dělat jednoduché když je to takhle na palici a člověk má chut u toho někoho přizabít. ;-)
Dobrý den,
děkuji za návod, který jsem hned zkusila, bodu 9 a dál už mi to nejde :/ kontrolovala jsem několikrát zda sedí ID i správnost adresy, ale bohužel nevím, kde nastala chyba.
Co vám to vrací jako odezvu? Já si všiml, že u některých účtů mých klientů, je třeba dát jako App ID nikoli ID appky z Facebooku, ale ID appky Instagramu, která se tam propojí. Nevidím v tom ale nějakou přesnou logiku, abych napsal postup kdy, proč a jak.
Zajímavý postup. Našel jsem až po 3h pekle (zkoušení, hledání, nadávání, zase hledání, zase nadávání ...)
Něco tak deb*ilního jako tvorbu milion tokenů, ruzných čehosi ID, tisíce potvrzení k tomu debilní nepřehledná dokumentace a časově omezené tokeny, to skoro vyznívá, že FB nechce, aby to někdo používal.
Nicméně vydal jsem se cestou vytvoření appky, následně k jejímu povolení do mého IG a hotovo.
Vygeneroval sem si long-token pod svým profilem pod tabem IG testers a funguje.
A k tomu mám dotaz k bodu 16, určitě to funguje? Jelikož mě ona URL vypíše kolik vteřin (aktuálně 59,xxx dní) zbývá do expiraci a po každém refreshi se čas ukrajuje, nikoliv prodlužuje nebo setuje opět na 60D. A k tomu jsem našel toto info:
https://developers.facebook.com/docs/instagram-basic-display-api/guides…
Takže se musí povolit a nakonfigurovat další oprávnění a to chce po člověku další věci, nad kterými zůstává rozum stát. Ok logo appky chápu, odkaz na nějaké právní podmínky??? WTF? Video záznam k čemu appka bude sloužit? A rozhodují o tom ručně v neurčitém časovém období? Tvl kde to jsme viz https://bit.ly/3ZasBox
Nechce se mi věřit, že tvůj návod se bez tohohle obejde a long-live token se přegeneruje bez toho aniž by muselo být tohle všechno splněno.
Díky za info.
No jo, je to neskutečný opruz. Nedělal jsem teď nějakou chvíli žádný nový web, který by to potřeboval (kupodivu, že :))) ). Klienti a jejich weby se v klidu obejdou s lákačkou na Instagram i v jiné formě, než aktuální nejnovější fotky. Je možné, že FB to opět změnil, nicméně prodlužování toho tokenu bylo zatím vždycky v pohodě. Zavoláním té URL to vrátí nový dlouhodobý token.
Ahoj, no hele asi se to změnilo, nebo to nechápu. Schválně.
Url pro refresh long live tokenu, tj pustím tam aktuální access token https://bit.ly/3SIC2Jr
Vemu si nový, a zkusím obnovit i ten.
A je vidět jak se pořád expires ukrajuje i s tím nově pušteným tokenem, vůbec se nenastaví na 2 měsíce a když si člověk spočítá vteřiny v expires / 86400 (na dny, dostane aktuálně něco jako 59,4 dní).
Nechápu.
Ahoj,
používal jsem donedávna tuhle PHP knihovnu (stačil zadat IG účet). https://github.com/postaddictme/instagram-php-scraper
Nicméně začali "lovit" IP adresy a už to taky začíná zlobit.
Návod vyzkouším :)
====================
Jinak nesnáším tahleta omezení a složitost "naklikávání" a celkový postup, vždycky bych u toho něco roztřískal.
Takhle mi přestalo fungovat načítání FB stránky (klient nechtěl klasický widget, ale chtěl to mít ve vlastní grafice) a zkoušel jsem udělat Appku, musel jsem projít šíleným procesem a pak mi to skončilo tím, že se mi někdo z FB za několik týdnů ozve, jestli mi to schváli a nikdo se nikdy neozval (zkoumal jsem to asi 1/2 dne, ten postup a další řešení).
Nemáš to taky vyzkoušené?