Google-Bewertungen mittels PHP auslesen

google bewertungen mittels php auslesen

Bewertungen, die bei Google abgegeben wurden, lassen sich auch einfach mittels PHP auf der eigenen Website auslesen und frei gestalten. Dazu wir ein API-Key benötigt, welcher die Rechte für die Google Place API benötigt. Der API-Key kann hier: https://code.google.com/apis/console/ erstellt werden.

Zudem wird eine placeID benötigt welche man hier auslesen kann:

https://maps.googleapis.com/maps/api/place/textsearch/json?key=[your-api-key]&query=[your-place]

Sieht bei mir dann z.B. so aus:

https://maps.googleapis.com/maps/api/place/textsearch/json?key=APIKEY123456789&query=huebert+webentwicklung

 

Ich habe mir eine *.inc Datei erstellt und mittels curl die Daten von Google ausgelesen und die zurückgelieferte json in ein PHP-Array decodiert codiert. Aus dem Array hole ich mir dann nur die Reviews(Bewertungen) $res[‚result‘][‚reviews‘].

/inc/google-review.inc

$parameters = "key=".$api_key."&placeid=".$placeid;

$url = "https://maps.googleapis.com/maps/api/place/details/json?$parameters";

$cookie = "cookies.txt";

 

/*****  Using Curl to fetch the data  *****/

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla / 5.0 (Windows; U; Windows NT 5.1; en - US; rv:1.8.1.6) Gecko / 20070725 Firefox / 2.0.0.6");

curl_setopt($ch, CURLOPT_TIMEOUT, 60);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);

$result = curl_exec($ch);

curl_close($ch);

 

/*****  Decode the received json data into php array *****/

$res = json_decode($result, true);

$reviews = ($res['result']['reviews']

Auf meiner Startseite binde ich die google-reviews.inc und durchlaufe das Array mit den reviews und gebe mir alle Bewertungen, welche mehr als 3 Sterne und einen Bewertungstext enthalten, aus.

<?php

include("./inc/google-reviews.inc");

if (isset($reviews)) {

    foreach ($reviews as $review) {

        if (!empty($review["text"]) && $review['rating'] > 3) { ?>

            <div class="item">

    <div class="quote">

    <i class="fa fa-quote-left left fa-2x" style="color:#24242a;"></i>

        <?php

        echo '<p>' . $review["text"] . ' <span>' . $review["author_name"] . '</span><i class="fa fa-quote-right right fa-2x" style="color:#24242a;"></i></p>';

        for ($i = 1; $i <= ($review['rating']); $i++) {

            echo '<i class="fa fa-star fa-2x" style="color:#24242a; padding: 0 4px;"></i>';

        }

        for ($i = 1; $i <= 5 - ($review['rating']); $i++) {

            echo '<i class="fa fa-star-o fa-2x" style="color:#24242a; padding: 0 4px;"></i>';

        }

        ?>

    </div>

    </div>

        <?php }

    }

} ?>

 

Beitrag teilen