Jak získat Instagram Token pro zobrazení obrázků z feedu na webu?

Kvůli jednoduchosti implementace jsou používal javascriptovou knihovnu, která natahovala fotky z feedu na Instagramu i bez nutnosti autorizačních tokenů. Tomu je nyní konec, přístupy jsou blokovány a nezbývá než se přesunout k Instagram Graph API.
reklama

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.

Tagy
Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal a Symfony. Obojí také školím spolu se základy SEO. Jsem Acquia Certified Developer (Drupal 7) a Site Builder (Drupal 8 & 9) a napsal jsem několik knih o Drupalu. Ve volných chvílích cestuji a podnikám výlety. Více se dozvíte na mém firemním webu.

reklama

Komentáře k článku

návštěvník

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é?

Profile picture for user Kcko

Chtělo by to návod upřesnit, už bod 3 je jiný než mám např. já.

Profile picture for user Kcko

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?

Profile picture for user Jan Polzer

Posílá. Pokud se komentář napíše po přihlášení. Tedy měl by. Musím po čase vyzkoušet, zda vše šlape.

Profile picture for user Kcko

Zaregistrovaný jsem a tenhle komentář mi určitě neprišel a to jsem na webu ted hodinu, asi to funguje prapodivně :-)

Profile picture for user Jan Polzer

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 :-)

návštěvník

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?

Profile picture for user Jan Polzer

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í.

Profile picture for user Kcko

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. ;-)

návštěvník

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.

Profile picture for user Jan Polzer

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.

návštěvník

{"error_type": "OAuthException", "code": 400, "error_message": "Invalid platform app"}

Ale už mi vypršel utorizační kód, takže musím požádat o nový.

Přidat komentář

Filtered HTML

  • Povolené HTML značky: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <p> <br>
  • Řádky a odstavce se zalomí automaticky.
  • Web page addresses and email addresses turn into links automatically.

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Novinka listopad 2020

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Poslední komentáře
reklama
reklama
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

Co píší na Interval.cz
@maxiorel na Twitteru

Maxiorel na Twitteru