mingalevme/illuminate-google

Provides Google API Library for PHP wrapper for Laravel/Lumen
15
Install
composer require mingalevme/illuminate-google
Latest Version:1.0.0
PHP:>=5.4
License:MIT
Last Updated:Jun 22, 2022
Links: GitHub  ·  Packagist
Maintainer: mingalevme

illuminate-google

Provides Google API Library for PHP wrapper for Laravel/Lumen

Installation

  1. composer require mingalevme/illuminate-google.

  2. Register the service provider Mingalevme\Illuminate\Google\GoogleServiceProvider.

  3. (Optionally) Add alias to your bootstrap file:

'Google' => Mingalevme\Illuminate\Google\Facades\Google::class,
  1. (Optionally) For Laravel run
php artisan vendor:publish --provider="Mingalevme\Illuminate\Google\GoogleServiceProvider" --tag="config"

to publish the config file.

  1. (Optionally) For Lumen copy /vendor/mingalevme/illuminate-google/config/google.php to /config/google.php.

  2. Instead of 4 and/or 5 if you plan to use just one Google Analytics (most common case), place JWT-file to /resources/google-service-account-key.json, if the service is not Google Analytics, setup one in your .env:

GOOGLE_SERVICE=Google_Service_AndroidPublisher
GOOGLE_SCOPE=https://www.googleapis.com/auth/androidpublisher
  1. Now you are able to use the library:
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Mingalevme\Illuminate\Google\Facades\Google;

class MyController extends Controller
{
    public function publisher(Request $request)
    {
        /* @var $publisher \Google_Service_AndroidPublisher */
        $publisher = Google::service();
        
        /* @var $purchase \Google_Service_AndroidPublisher_SubscriptionPurchase */
        try {
            $purchaseData = (array) $publisher->purchases_subscriptions
                    ->get($request->input('app_id'), $request->input('product_id'), $request->input('purchase_token'))
                    ->toSimpleObject();
        } catch (\Google_Service_Exception $e) {
            $purchaseData = ['errors' => $e->getErrors()];
        }
        
        return response()->json($purchaseData, isset($e) ? $e->getCode() : 200);
    }
    
    public function analytics(Request $request)
    {
        /* @var $analytics \Google_Service_Analytics */
        $analytics = Google::service('analytics');
        ...
    }
    
}

Related Packages

websight/l5-google-client

Wraps a authenticated google api client

17 0
joblocal/laravel-ga-helper

A component for the laravel framework for getting data from google analytics.

215 6
owow/laravel-drive

A Laravel package for the Google Drive API

129 3
cedricziel/l5-memcached-noversion

Removes the getVersion call from the Stock Laravel MemcachedConnector

93 1
twipi-group/googlecloud-pubsub-laravel-queue-driver

Google Cloud PubSub driver for Laravel/Lumen Queue.

202 1