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 }

    }

} ?>
    

Daten mit PHP von Website auslesen
All in One SEO Plugin - Optimiere deinen Shopware Shop