mingalevme/illuminate-google

为 PHP 提供了 Laravel/Lumen 的 Google API 库包装器

1.0.0 2017-10-06 12:15 UTC

This package is auto-updated.

Last update: 2024-09-22 12:55:53 UTC


README

为 PHP 提供了 Laravel/Lumen 的 Google API 库包装器

安装

  1. composer require mingalevme/illuminate-google.

  2. 注册服务提供者 Mingalevme\Illuminate\Google\GoogleServiceProvider.

  3. (可选) 将别名添加到您的 bootstrap 文件中

'Google' => Mingalevme\Illuminate\Google\Facades\Google::class,
  1. (可选) 对于 Laravel 运行
php artisan vendor:publish --provider="Mingalevme\Illuminate\Google\GoogleServiceProvider" --tag="config"

以发布配置文件。

  1. (可选) 对于 Lumen,将 /vendor/mingalevme/illuminate-google/config/google.php 复制到 /config/google.php

  2. 如果您打算只使用一个 Google Analytics(最常见情况),请将 JWT 文件放置在 /resources/google-service-account-key.json,如果服务不是 Google Analytics,则在 .env 中设置一个。

GOOGLE_SERVICE=Google_Service_AndroidPublisher
GOOGLE_SCOPE=https://www.googleapis.com/auth/androidpublisher
  1. 现在您可以使用这个库了
<?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');
        ...
    }
    
}