Задать вопрос
  • Как спарсить рейтинг отзывов Google Places?

    @mixvolt
    Чтобы отобразить на вашем сайте рейтинг и количество отзывов из Google, нужно интегрировать данные из Google My Business (GMB) через API. Вот пошаговый процесс:

    1. Создайте проект в Google Cloud
    • Перейдите в Google Cloud Console.
    • Создайте новый проект или выберите существующий.
    • Активируйте API Google My Business или Google Places API (зависит от вашего источника данных).


    2. Получите API-ключ
    • В Google Cloud Console перейдите в раздел "APIs & Services > Credentials".
    • Нажмите "Create Credentials" и выберите API Key.
    • Сохраните API-ключ для использования в запросах.


    3. Запросите данные
    Для данных о рейтинге и отзывах можно использовать:
    • Google My Business API (если у вас есть доступ к вашему бизнес-аккаунту GMB).
    • Places API (если данные общедоступны).


    Пример с использованием Places API:
    Отправьте запрос к API:
    https://maps.googleapis.com/maps/api/place/details/json?place_id=PLACE_ID&fields=rating,user_ratings_total&key=YOUR_API_KEY

    • PLACE_ID — уникальный идентификатор вашей компании (можно найти через Place Search API).
    • rating — средний рейтинг.
    • user_ratings_total — общее количество отзывов.

    Пример ответа:
    {
      "result": {
        "rating": 4.7,
        "user_ratings_total": 150
      },
      "status": "OK"
    }


    4. Выведите данные на сайте
    Используйте JavaScript, PHP или любой другой язык, чтобы интегрировать API-ответ в ваш сайт.
    JavaScript:
    <script>
      async function fetchGoogleReviews() {
        const response = await fetch(
          "https://maps.googleapis.com/maps/api/place/details/json?place_id=PLACE_ID&fields=rating,user_ratings_total&key=YOUR_API_KEY"
        );
        const data = await response.json();
        const rating = data.result.rating;
        const reviews = data.result.user_ratings_total;
    
        document.getElementById("rating").textContent = `Рейтинг: ${rating}`;
        document.getElementById("reviews").textContent = `Количество отзывов: ${reviews}`;
      }
      fetchGoogleReviews();
    </script>
    <div>
      <p id="rating"></p>
      <p id="reviews"></p>
    </div>

    PHP:
    <?php
    $apiKey = "YOUR_API_KEY";
    $placeId = "PLACE_ID";
    
    $url = "https://maps.googleapis.com/maps/api/place/details/json?place_id=$placeId&fields=rating,user_ratings_total&key=$apiKey";
    $response = file_get_contents($url);
    $data = json_decode($response, true);
    
    $rating = $data['result']['rating'];
    $reviews = $data['result']['user_ratings_total'];
    ?>
    
    <div>
      <p>Рейтинг: <?php echo $rating; ?></p>
      <p>Количество отзывов: <?php echo $reviews; ?></p>
    </div>


    5. Оптимизация
    • Кэшируйте данные, чтобы снизить количество запросов к API.
    • Следите за использованием квоты Google API (зависит от тарифа).
    Ответ написан
    Комментировать