mingalevme / illuminate-google by mingalevme

Provides Google API Library for PHP wrapper for Laravel/Lumen
13
0
3
Package Data
Maintainer Username: mingalevme
Maintainer Contact: mingalevme@gmail.com (Mingalev Mikhail)
Package Create Date: 2017-10-05
Package Last Update: 2022-06-22
Language: PHP
License: MIT
Last Refreshed: 2024-04-26 03:14:10
Package Statistics
Total Downloads: 13
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

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 Larvel 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');
        ...
    }
    
}