A package for Laravel which implements the Google My Business API

2.2.0 2020-09-10 06:37 UTC

This package is not auto-updated.

Last update: 2023-01-23 20:09:10 UTC


Note: To use the Google My Business API you have to apply for access:

This is a Laravel ready implementation of the Google My Business PHP Library (v4.4) as provided by Google on

Please refer to for information on how the Google My Business API functions - more useful links are available at the bottom of this document.


I'm putting this above everything else as it's extremely important. The Google My Business Client library doesn't support detailed error responses:

So when something goes wrong, you get an extremely unhelpful 400 error message such as Request contains an invalid argument.

To get more detailed error messages we need to add the HTTP header: X-GOOG-API-FORMAT-VERSION: 2 to the request and the error message that gets returned will be a lot more useful.

There isn't a pretty way to do this, but all you need to do is open:


And in the doExecute function modify as follows

      $httpHandler = HttpHandlerFactory::build($client);
      // Add the header to the request
      $request = $request->withHeader('X-GOOG-API-FORMAT-VERSION', '2');

Once you've finished debugging, remove this added line.


Run composer require scottybo/laravel-google-my-business

Or to install via composer - edit your composer.json to require the package.

"require": { "scottbo/laravel-google-my-business": "1.*" }

Then run composer update in your terminal to pull it in.


Important: It's highly recommend you use to handle the Google Client setup. The code examples further down this document assume you're using this library.

To use this Google My Business package in a Laravel project add the following to the providers array in your config/app.php


Next add the following to the aliases array in your config/app.php

'GoogleMyBusiness' => Scottybo\LaravelGoogleMyBusiness\GoogleMyBusiness::class

Google My Business Discovery document

The Google My Business API discovery document is a JSON document that describes the surface for a particular version of the API. You use the discovery document in conjunction with the Google API Discovery Service.

mybusiness_google_rest_v4p4.json has been included with this project for your reference (downloaded from:


Code example

(Work in progress)

use Google; // See:
use GoogleMyBusiness;

class MyExampleClass

    function authRedirect() {

        // Define the GMB scope
        $scopes = [

        // Define any configs that overrride the /config/google.php defaults from pulkitjalan/google-apiclient
        $googleConfig = array_merge(config('google'),[
            'scopes' => $scopes,
            'redirect_uri' => config('app.callback_url').'/callback/google/mybusiness'

        // Generate an auth request URL
        $googleClient = new Google($googleConfig);
        $loginUrl = $googleClient->createAuthUrl();
        // Send user to Google for Authorisation
        return redirect()->away($loginUrl);
    function getAccountName(Google $googleClient) {
        $gmb = new GoogleMyBusiness($googleClient);
        return $gmb->getAccountName();


Useful links

Mostly for my reference as I develop this package, but you might find them useful too!