Instagram Feeds auf der eigenen Website

Instagram Feeds auf der eigenen Website

Socialmedia wird immer mehr und mehr von Firmen als Information- und Webequelle genutzt. Aber wie erreicht man User, die eine der Plattformen nicht benutzten? Richtig, mit der eigenen Website. Die meisten Socialmedia-Plattformen besitzen eine eigene API welche man zum auslesen der Daten verwenden kann. Für Facebook und Twitter habe ich diese bereits etwas intensiver benutzt. Da Instagram immer mehr und mehr genutzt wird, bin ich auch hier mal etwas tiefer in die API eingestiegen. 

Als json bekomme ich die ganzen Feeds zurückgeliefert welche ich mir in der Variable $obj speicher.

$obj = json_decode($json, true);

Mittels foreach speicher ich mir die Daten wie die Beschreibung, den Link, die Anzahl der Likes, das Bild, Datum usw. in Variablen.

$count_data = count($obj['data']);
foreach ($obj['data'] as $key => $post):
   $pic_text = $post['caption']['text'];
   $pic_link = $post['link'];
   $pic_like_count = $post['likes']['count'];
   $pic_comment_count = $post['comments']['count'];
   $pic_src = str_replace("http://", "https://", $post['images']['standard_resolution']['url']);
   $pic_created_time = date("F j, Y", $post['caption']['created_time']);
   $pic_created_time = date("F j, Y", strtotime($pic_created_time . " +1 days"));

   $pic_created_day = date("j", strtotime($pic_created_time . " +1 days"));
   $pic_created_month = date("M Y", strtotime($pic_created_time . " +1 days"));

   ...
endforeach;

Diese Variablen können jetzt an den gewünschten stellen im Quellcode der Seite bzw. des Templates verwendet werden. Für das zuordnen der Feeds habe ich eine Funktion programmiert, welche mir anhand der Hashtags eine Zuordnung zu Veransaltungsname, Datum und Uhrzeit ausgibt. An die Funktion getStringByTag übergebe ich den von mir gesuchten Hashtag und die Beschreibung des Bildes als String, in welchem sich auch die Hashtags befinden. Die Funktion sieht folgendermaßen aus:

function getStringByTag($hashtag, $pic_text)
{
    $posStart = strlen($hashtag);
    $posString = strpos($pic_text, $hashtag);
    $substring = substr($pic_text, $posString + $posStart, 20);
    $new_string = explode(' ', $substring, 2);

    return $new_string[0];
}

Als Beispiel für die Website ju-la.de, hole ich mir das Datum und die Zeit einer Veranstaltung und den Veranstaltungsnamen, um diese auf der Website ausgeben zu können. Der Feed wird nur ausgeben wenn es sich um eine Veranstaltung handelt und wenn sich das Datum der Veranstaltung in der Zukunft befindet. Diese Daten hole ich mir mit der oben genannten Funktion und gebe die gewünschten Feeds mittels verschiedener Abfragen im Frontend aus. Das auslesen aller Feeds erfolgt z.B. hier für die eben genannte Domain.

Natürlich gibt es noch andere Möglichkeiten um die Feeds zuzuordnen. Dies ist nur eine von mir umgesetzte Lösung für das Ausgeben aller Feeds, sowie die Ausgabe zukünftiger Veranstaltungen mittels Hasttag, auf der Startseite. Hier kann man kreativ sein und eine eigene Strategie entwickeln.

Probieren geht über Studieren ...

500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Error has been logged.