Google PHP API Client Services

Last update: May 20, 2022
Comments
  • 1. Add PHPDoc to (generated?) models to increase usability

    Currently the PHP Documentation of the model classes is lacking, which makes it harder to use them / understand them. Since the model classes are probably generated, a change to the generator should be able to facilitate this. Not sure where to post this issue though, is the generator also on GitHub?

    For example Google_Service_Calendar_Event::setStart() has a type-hint that a Google_Service_Calendar_EventDateTime object should be used, but getStart() does not have a PHPDoc @return hint:

    class Google_Service_Calendar_Event
    {
      public function setStart(Google_Service_Calendar_EventDateTime $start)
      {
        $this->start = $start;
      }
    
      //Current approach, no PHPDoc
      public function getStart()
      {
        return $this->start;
      }
    
      /**
       * Preferred approach
       * @return Google_Service_Calendar_EventDateTime
       */
      public function getStart()
      {
        return $this->start;
      }
    
      /**
       * as of PHP7
       * @return Google_Service_Calendar_EventDateTime
       */
      public function getStart() : Google_Service_Calendar_EventDateTime
      {
        return $this->start;
      }
    }
    

    Currently using the API Client and specific services is quite an 'adventure' / puzzle of finding out how everything works and by trial and error find out the proper way. Does Google use the PHP API Services themselves as well? I would say out of frustration one would add such type hints quite quickly ;)

    Reviewed by holtkamp at 2016-08-15 08:03
  • 2. Composer install/update #fail

    Fresh install of Google API PHP Client

    Duplicate (case-sensitive filenames) files in a folder, not compatible with case-insensitive operating systems.

    Environment details

    • OS: macOS 12.1
    • PHP version: 8.1
    • Package name and version: google-api-php-client-services

    Steps to reproduce

    ➜  youtube git:(main) ✗ php -v
    PHP 8.1.2 (cli) (built: Jan 21 2022 04:47:46) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.1.2, Copyright (c) Zend Technologies
        with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
    ➜  youtube git:(main) ✗ composer install
    Installing dependencies from lock file (including require-dev)
    Verifying lock file contents can be installed on current platform.
    Package operations: 19 installs, 0 updates, 0 removals
      - Installing paragonie/random_compat (v9.99.100): Extracting archive
      - Installing paragonie/constant_time_encoding (v2.5.0): Extracting archive
      - Installing phpseclib/phpseclib (3.0.12): Extracting archive
      - Installing psr/log (3.0.0): Extracting archive
      - Installing monolog/monolog (2.3.5): Extracting archive
      - Installing ralouphie/getallheaders (3.0.3): Extracting archive
      - Installing psr/http-message (1.0.1): Extracting archive
      - Installing psr/http-factory (1.0.1): Extracting archive
      - Installing guzzlehttp/psr7 (2.1.0): Extracting archive
      - Installing symfony/deprecation-contracts (v3.0.0): Extracting archive
      - Installing psr/http-client (1.0.1): Extracting archive
      - Installing guzzlehttp/promises (1.5.1): Extracting archive
      - Installing guzzlehttp/guzzle (7.4.1): Extracting archive
      - Installing psr/cache (2.0.0): Extracting archive
      - Installing firebase/php-jwt (v5.5.1): Extracting archive
      - Installing google/auth (v1.18.0): Extracting archive
      - Installing google/apiclient-services (v0.231.1): Extracting archive
      - Installing google/apiclient (v2.12.1): Extracting archive
      - Installing symfony/dotenv (v5.4.2): Extracting archive
     18/19 [==========================>-]  94%    Failed to extract google/apiclient-services: (1) '/usr/bin/unzip' -qq '/Users/johaneks/Projects/youtube/vendor/composer/tmp-72a8e07d6c5e7aa4447e541641fa7c78' -d '/Users/johaneks/Projects/youtube/vendor/composer/474efbc6'
    
    replace /Users/johaneks/Projects/youtube/vendor/composer/474efbc6/googleapis-google-api-php-client-services-d6bf710/src/ArtifactRegistry/Resource/ProjectsLocationsRepositoriesAptartifacts.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:  NULL
    (EOF or read error, treating as "[N]one" ...)
    
        The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)
        Unzip with unzip command failed, falling back to ZipArchive class
    Generating autoload files
    7 packages you are using are looking for funding.
    Use the `composer fund` command to find out more!
    
    

    Screenshots

    image

    Reviewed by itsAnuga at 2022-01-27 15:05
  • 3. URGENT: GoogleMyBusiness API: v4.9 removed completely, although documentation still supports some endpoints that haven't been replaced yet

    See: https://developers.google.com/my-business/reference/rest/v4/accounts.locations/reportInsights

    Also: https://developers.google.com/my-business/reference/rest/v4/accounts.locations.reviews

    And a couple of other endpoints are missing.

    These endpoints have not been replaced by the new v1 API so far, but they have been completely removed from the PHP code base, so the service usage is completely hindered.

    Reviewed by nekromoff at 2022-01-13 10:36
  • 4. version 0.67 fails to install with composer

    The process "unzip -qq ...." exceeded the timeout of 300 seconds. The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems) Unzip with unzip command failed, falling back to ZipArchive class.

    After waiting for a long time it eventually just fails. Forcing v0.66 seems to fix the issue for now.

    Reviewed by robtesch at 2018-08-27 08:18
  • 5. Add `@var` to Model Properties to Primitive Types

    Reopening per https://github.com/googleapis/google-api-php-client-services/pull/446#issuecomment-984959527

    :wave: I've had this PR open on the api client generator for a while https://github.com/google/apis-client-generator/pull/44

    That adds @var, @param, and @return to model properties with primitive types. Thought I would try to get it merged here since I suspect y'all don't use that apis-client-generator libary, but instead use the generator/ here.

    I also fixed the tests in php_generator_test.py so they pass, but did not add any further tests. I can do that if you'd like.

    Here's a sample patch on Google\Service\DisplayVideo\Advertiser

    diff --git a/src/DisplayVideo/Advertiser.php b/src/DisplayVideo/Advertiser.php
    index b98a7c056..db9eca38a 100644
    --- a/src/DisplayVideo/Advertiser.php
    +++ b/src/DisplayVideo/Advertiser.php
    @@ -21,22 +21,43 @@ class Advertiser extends \Google\Model
     {
       protected $adServerConfigType = AdvertiserAdServerConfig::class;
       protected $adServerConfigDataType = '';
    +  /**
    +   * @var string
    +   */
       public $advertiserId;
       protected $creativeConfigType = AdvertiserCreativeConfig::class;
       protected $creativeConfigDataType = '';
       protected $dataAccessConfigType = AdvertiserDataAccessConfig::class;
       protected $dataAccessConfigDataType = '';
    +  /**
    +   * @var string
    +   */
       public $displayName;
    +  /**
    +   * @var string
    +   */
       public $entityStatus;
       protected $generalConfigType = AdvertiserGeneralConfig::class;
       protected $generalConfigDataType = '';
       protected $integrationDetailsType = IntegrationDetails::class;
       protected $integrationDetailsDataType = '';
    +  /**
    +   * @var string
    +   */
       public $name;
    +  /**
    +   * @var string
    +   */
       public $partnerId;
    +  /**
    +   * @var bool
    +   */
       public $prismaEnabled;
       protected $servingConfigType = AdvertiserTargetingConfig::class;
       protected $servingConfigDataType = '';
    +  /**
    +   * @var string
    +   */
       public $updateTime;
     
       /**
    @@ -53,10 +74,16 @@ class Advertiser extends \Google\Model
       {
         return $this->adServerConfig;
       }
    +  /**
    +   * @param string
    +   */
       public function setAdvertiserId($advertiserId)
       {
         $this->advertiserId = $advertiserId;
       }
    +  /**
    +   * @return string
    +   */
       public function getAdvertiserId()
       {
         return $this->advertiserId;
    @@ -89,18 +116,30 @@ class Advertiser extends \Google\Model
       {
         return $this->dataAccessConfig;
       }
    +  /**
    +   * @param string
    +   */
       public function setDisplayName($displayName)
       {
         $this->displayName = $displayName;
       }
    +  /**
    +   * @return string
    +   */
       public function getDisplayName()
       {
         return $this->displayName;
       }
    +  /**
    +   * @param string
    +   */
       public function setEntityStatus($entityStatus)
       {
         $this->entityStatus = $entityStatus;
       }
    +  /**
    +   * @return string
    +   */
       public function getEntityStatus()
       {
         return $this->entityStatus;
    @@ -133,26 +172,44 @@ class Advertiser extends \Google\Model
       {
         return $this->integrationDetails;
       }
    +  /**
    +   * @param string
    +   */
       public function setName($name)
       {
         $this->name = $name;
       }
    +  /**
    +   * @return string
    +   */
       public function getName()
       {
         return $this->name;
       }
    +  /**
    +   * @param string
    +   */
       public function setPartnerId($partnerId)
       {
         $this->partnerId = $partnerId;
       }
    +  /**
    +   * @return string
    +   */
       public function getPartnerId()
       {
         return $this->partnerId;
       }
    +  /**
    +   * @param bool
    +   */
       public function setPrismaEnabled($prismaEnabled)
       {
         $this->prismaEnabled = $prismaEnabled;
       }
    +  /**
    +   * @return bool
    +   */
       public function getPrismaEnabled()
       {
         return $this->prismaEnabled;
    @@ -171,10 +228,16 @@ class Advertiser extends \Google\Model
       {
         return $this->servingConfig;
       }
    +  /**
    +   * @param string
    +   */
       public function setUpdateTime($updateTime)
       {
         $this->updateTime = $updateTime;
       }
    +  /**
    +   * @return string
    +   */
       public function getUpdateTime()
       {
         return $this->updateTime;
    
    Reviewed by chrisguitarguy at 2021-12-02 21:16
  • 6. Compute API missing classes

    Reviewed by chingor13 at 2018-09-20 23:57
  • 7. Is it possible to migrate this to PSR-4

    I know that you guys are using some tool like swagger for code generator, but is it possible to create a new tag/version with psr-4 autoloader. It is much more easier and beautiful for reading when you have code like:

    <?php
    use Google\Service\CloudTalentSolution;
    
    class Service 
    {
        private function someMethod()
        {
            $talentClient = new CloudTalentSolution($client);
        }
    }
    
    Reviewed by steffdimitrov at 2018-09-11 06:06
  • 8. Incorrectly documented return type for Google_Service_ServiceControl_CheckResponse::getCheckErrors()

    The docblock's @return type for Google_Service_ServiceControl_CheckResponse::getCheckErrors() is incorrect. The method returns a PHP array and not Google_Service_ServiceControl_CheckError as documented.

    Suggested action

    Correct the docblock to be "@return array of Google_Service_ServiceControl_CheckError objects"

    Environment details

    • OS: macOS Mojave (not important)
    • PHP version: 7.2.7 (not important)
    • Package name and version: googleapis/google-api-php-client-services master

    Steps to reproduce

    1. Using a valid Google_Service_ServiceControl make a check() request with a Google_Service_ServiceControl_CheckRequest that's invalid - an easy way to do it is to have an invalid project number filled in with the Google_Service_ServiceControl_Operation
    2. With the results of the check() method (which is a Google_Service_ServiceControl_CheckRequest), call its getCheckErrors() method.
    3. Examine the results of the getCheckErrors() method, and notice it's an array instead of what the method's docblock specifies with a return type of Google_Service_ServiceControl_CheckError

    Code example

    use Google_Client as Client;
    use Google_Service_ServiceControl as ServiceControl;
    use Google_Service_ServiceControl_CheckRequest as CheckRequest;
    use Google_Service_ServiceControl_Operation as Operation;
    
    $operation = new Operation([
        'operationId'     => 'some-unique-id-here',
        'operationName'   => 'some-operation-name-here',
        'consumerId'      => 'some-consumer-id-here',
        'startTime'       => '2019-06-18T17:47:00+00:00',
        'endTime'         => '2019-06-18T17:48:00+00:00',
        'metricValueSets' => [
            [
                'metricName'   => 'some-metric-name-here',
                'metricValues' => [
                    ['int64Value' => 1234]
                ],
            ],
        ],
    ]);
    
    $client = new Client();
    $client->useApplicationDefaultCredentials();
    $client->addScope('https://www.googleapis.com/auth/cloud-platform');
    
    $serviceControl = new ServiceControl($client);
    
    $checkResponse = $serviceControl->services->check(
        'some-service-name-here',
        new CheckRequest(['operation' => $operation])
    );
    $errors = $checkResponse->getCheckErrors();
    echo gettype($errors); // yields "array", not "Google_Service_ServiceControl_CheckError"
    
    Reviewed by bigdawggi at 2019-11-21 02:00
  • 9. Error when calling for new Google_Service_YouTubeAnalytics

    Hi there, I am trying to migrate from youtube analytics V1 to V2 as per this documentation. https://developers.google.com/youtube/analytics/migration

    After reading some more I came across this article below which pointed me to this Repo https://stackoverflow.com/questions/53024561/how-to-continue-accessing-youtube-analytics-api-with-php-client-library-googl

    I installed all the files in the service folder overriding the old. However when I try to get the analytics for youtube I get this error. "status":"fail","code":"500","reason":"PHP error. Severity: Warning, Message: array_merge(): Argument #2 is not an array, File: Resource/Reports.php, Line number: 90

    When I do a new Google_Service_YouTube($client) it works and I get my results with the new installation but with the
    new Google_Service_YouTubeAnalytics($client) I get the error above.

    So I assume everything is installed correctly as the first call works, any reason why youtubeAnalytics wont work?

    Much appreciated.

    Reviewed by saffabook at 2019-02-22 15:19
  • 10. v1 of Google API PHP Client - Throwing error, not allwoing to create a project in Google Cloud console.

    I am trying to create a project in the Google console cloud using the PHP client library. I copied this sample code from https://cloud.google.com/resource-manager/reference/rest/v1/projects/create#php

    Steps taken/ Got the issue:

    1. This line " $requestBody = new \Google_Service_CloudResourceManager_Project(); ".

      Throwing error : 'Class Google_Service_CloudResourceManager_Project not found'.

      Then I checked in the "Try this API" menu, we can pass the JSON to API with Google API Explorer. I tested with Google API Explorer and the results are working fine. (See screenshot)

    2. Commenting this line "$requestBody = new \Google_Service_CloudResourceManager_Project();" and trying to pass the json required to create method ( as i have checked in "Try this API" menu).

      Throwing error : Call to a member function create() on null at this line "$response = $service->projects->create($requestBody);".

    My Google OAuth script is working fine, the only issue with this project create script

    PHP Script:

    $client = new \Google_Client();
    $client->setApplicationName('Google-CloudResourceManagerSample/0.1');
    //$client->useApplicationDefaultCredentials();
    $client->addScope('https://www.googleapis.com/auth/cloud-platform');
    
    $service = new \Google_Service_CloudResourceManager($client);
    
    // TODO: Assign values to desired properties of `requestBody`:
    
    //$requestBody = new Google_Service_CloudResourceManager_Project();
    
    $requestBody = '{
    				  "name": "bob kris project 2",
    				  "projectId": "bk-project-290016"
    				}';
    
    $response = $service->projects->create($requestBody);
    
    // TODO: Change code below to process the `response` object:
    echo '<pre>', var_export($response, true), '</pre>', "\n";
    
    die;
    

    [enter image description here]1

    Reviewed by phpdevelopernk-git at 2020-09-20 06:24
  • 11. Breaking change to listCse function in 0.130

    In 0.130 the listCse function has been changed from: public function listCse($q, $optParams = array()) to: public function listCse($optParams = array()) so is a breaking change with only a minor version number change

    Reviewed by jedi58 at 2020-04-16 17:26
  • 12. Proper PHPDoc for nullable class properties and method returns

    Related / follow-up of https://github.com/googleapis/google-api-php-client-services/issues/172 Is your feature request related to a problem? Please describe. Currently some classes have properties that

    • can be NULL
    • have PHPDoc which suggests it can not be NULL

    For example: https://github.com/googleapis/google-api-php-client-services/blob/dbd60410b289374a44fe91f3556d463b55c10246/src/Calendar/EventDateTime.php#L23-L25

    And https://github.com/googleapis/google-api-php-client-services/blob/dbd60410b289374a44fe91f3556d463b55c10246/src/Calendar/EventDateTime.php#L42-L48

    When using static analysis using (for example) PHPStan, on code like this:

    //All-day event has the date property set
    if (is_string( $calendarEvent->getStart()->date)) {
       //Process all-day event
    }
    } elseif (is_string( $calendarEvent->getStart()->dateTime)) {
       //event is not all-day-even
    }
    

    This will result in an error like:

    Elseif branch is unreachable because previous condition is always true.  
    

    Describe the solution you'd like It would be better to use PHPDoc to indicate that the property can be null, for example

      /**
       * @var string|null
       */
      public $date;
    
      /**
       * @return string|null
       */
      public function getDate()
      {
        return $this->date;
      }
    

    Describe alternatives you've considered For PHP versions that support typed properties and return types, the PHPDoc can be omitted:

      public ?string $date = null;
      public function getDate() : ?string
      {
        return $this->date;
      }
    

    But this library supports PHP >=5.6, so this is probably not an option yet: https://github.com/googleapis/google-api-php-client-services/blob/main/composer.json#L9

    Reviewed by holtkamp at 2022-02-04 14:10
  • 13. Split packages for the sake of bandwidth disk space and the environnement

    This package is the biggest composer package I have ever seen: 40Mb => 73Mb real (because a lot of small files)

    Just by itself it weights 50% of all my dependencies, and yet I only use it to call 4 api endpoints... image

    This single package by itself is using more than 20Go on our pipelines artifacts and an easy 1Go of bandwith per month which is insane in term of carbon footprint considered it's a popular package made by such a big company as google. In comparison, https://github.com/fzaninotto/Faker was shutdown by it's author for environmental concerns for much less

    I think it's time to be responsible and to split this package into multiple smaller packages that can be independantly installed based on what users need (eg maybe I'll install a combo of Analytics and Youtube, but I don't want to have the 100's of other subfolders that come with this currently)

    Related #222

    It is possible to use a monorepo with a private packagist as documented there https://blog.packagist.com/installing-composer-packages-from-monorepos/ Or using a different registry than packagist

    If this is not ideal because of the need to add the registry to the composer.json (which isn't that hard) or the high asking price of a private packagist (a bigger issue, in which case I'd recommend a free alternative that where it automatically creates multiple github projects https://packagist.org/packages/symplify/monorepo-builder)

    Then alternatively I'd consider just separating the really big folders into separate packages, in their respective order:

    1. Compute
    2. ShoppingContent
    3. DialogFlow
    4. Dfareporting
    5. DisplayVideo
    6. Apigee
    7. Vision
    8. Sheets & Documents
    9. Youtube

    And keep all the rest in one package, this will help alleviate the size of the main package by 25%, which isn't that much but is already 20 real Mb

    Reviewed by Tofandel at 2022-01-29 17:45
  • 14. Add Enum Classes for Enum Properties & Parameters

    I had some stuff in another PR around enums, but wasn't super happy with it.

    This adds an Enums namespace to the generated package and an enum class that's just a bag of constants. Properties that have enum values have an @see thing in the docblock pointing to the class.

    One thing that's not great here is that schema references for enums create classes, you can see this in the kitchen sink tests where there's a top level LinkType enum: https://github.com/chrisguitarguy/google-api-php-client-services/blob/6f32078f280c4278d8951fadaec618ac9ea67b3f/generator/tests/testdata/golden/php/default/kitchen_sink.golden#L819

    and a LinkType enum under SeriesCounters: https://github.com/chrisguitarguy/google-api-php-client-services/blob/6f32078f280c4278d8951fadaec618ac9ea67b3f/generator/tests/testdata/golden/php/default/kitchen_sink.golden#L858

    There's not really a way to determine if the schema is actually a reference or not in the generator code and I didn't want to dig too far into that before asking for feedback. If a schema has already been defined, the reference is just resolved directly: https://github.com/chrisguitarguy/google-api-php-client-services/blob/6f32078f280c4278d8951fadaec618ac9ea67b3f/generator/src/googleapis/codegen/schema.py#L200-L207

    Reviewed by chrisguitarguy at 2021-12-09 22:53
  • 15. can you please provide the get started documents

    PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.

    Reviewed by ersanjay5991 at 2021-11-10 15:58
  • 16. Wrong return type in PHPDoc of UserinfoV2Me::get()

    PHPDoc of UserinfoV2Me::get() says that method returns Userinfo, but it should return UserinfoModel

    namespace Google\Service\Oauth2\Resource;
    
    //Note the alias
    use Google\Service\Oauth2\Userinfo as UserinfoModel;
    
    /**
     * The "me" collection of methods.
     * Typical usage is:
     *  <code>
     *   $oauth2Service = new Google\Service\Oauth2(...);
     *   $me = $oauth2Service->me;
     *  </code>
     */
    class UserinfoV2Me extends \Google\Service\Resource
    {
      /**
       * (me.get)
       *
       * @param array $optParams Optional parameters.
       * @return Userinfo
       */
      public function get($optParams = [])
      {
        $params = [];
        $params = array_merge($params, $optParams);
        return $this->call('get', [$params], UserinfoModel::class);
      }
    }
    

    get() returns result of $this->call() (defined here). The third parameter of call() is $expectedClass - name of the class that should be returned. In this case it's UserinfoModel::class

    I also tested the return type of get() with var_dump() to be sure, here is the output:

    object(Google\Service\Oauth2\Userinfo)#52...
    

    UserinfoModel is alias of Google\Service\Oauth2\Userinfo

    Reviewed by azerum at 2021-10-25 11:37
  • 17. [Policy Bot] found one or more issues with this repository.

    Policy Bot found one or more issues with this repository.

    • [x] Default branch is 'main'
    • [ ] Branch protection is enabled
    • [x] Renovate bot is enabled
    • [x] Merge commits disabled
    • [x] There is a CODEOWNERS file
    • [x] There is a valid LICENSE.md
    • [x] There is a CODE_OF_CONDUCT.md
    • [x] There is a CONTRIBUTING.md
    • [x] There is a SECURITY.md
    Reviewed by google-cloud-policy-bot[bot] at 2021-10-07 09:01
Xendit REST API Client for PHP - Card, Virtual Account, Invoice, Disbursement, Recurring Payments, Payout, EWallet, Balance, Retail Outlets Services

Xendit REST API Client for PHP - Card, Virtual Account, Invoice, Disbursement, Recurring Payments, Payout, EWallet, Balance, Retail Outlets Services

May 12, 2022
PHP JSON-RPC 2.0 Server/Client Implementation with Automatic Client Class Generation via SMD

PHP JSON-RPC 2.0 Server/Client Implementation with Automatic Client Class Generation via SMD

Feb 14, 2022
Nexmo REST API client for PHP. API support for SMS, Voice, Text-to-Speech, Numbers, Verify (2FA) and more.

Client Library for PHP Support Notice This library and it's associated packages, nexmo/client and nexmo/client-core have transitioned into a "Maintena

Apr 3, 2022
DigitalOcean API v2 client for Symfony and API Platform

DigitalOcean Bundle for Symfony and API Platform DunglasDigitalOceanBundle allows using the DigitalOcean API from your Symfony and API Platform projec

Nov 22, 2021
API client for ThePay - payment gate API
API client for ThePay - payment gate API

This is the official highly compatible public package of The Pay SDK which interacts with The Pay's REST API. To get started see examples below.

Apr 26, 2022
PHP package to manage google-api interactions

Google-api-client PHP package to manage google-api interactions Supports: Google Drive API Google Spreadsheet API Installation composer require obrio-

Apr 28, 2022
🌐 Free Google Translate API PHP Package. Translates totally free of charge.

Google Translate PHP Free Google Translate API PHP Package. Translates totally free of charge. Installation Basic Usage Advanced Usage Language Detect

May 21, 2022
Google Drive Api Wrapper by PHP

GoogleDrive Api Wrapper usage at first you need to create oauth client on google cloud platform. so go to the your google console dashboard and create

Mar 24, 2022
Google Translator Api Wrapper For Php Developers.

Google Translator Api Wrapper For Php Developers.

May 16, 2022
playSMS is a web interface for SMS gateways and bulk SMS services

README Latest development release is playSMS version 1.4.4-beta4 Latest stable release is playSMS version 1.4.3 Official project website: https://play

May 18, 2022
laravel wrapper for dicom images services

laravel wrapper for dicom images services

Jan 18, 2022
An elegant wrapper around Google Vision API
An elegant wrapper around Google Vision API

STILL UNDER DEVELOPMENT - DO NOT USE IN PRODUCTION Requires PHP 8.0+ For feedback, please contact me. This package provides an elegant wrapper around

Jan 1, 2022
Simple Google Tts Api Class

Simple Google Tts Api Class

Nov 7, 2021
⚡️ Web3 PHP is a supercharged PHP API client that allows you to interact with a generic Ethereum RPC.
⚡️ Web3 PHP is a supercharged PHP API client that allows you to interact with a generic Ethereum RPC.

Web3 PHP is a supercharged PHP API client that allows you to interact with a generic Ethereum RPC. This project is a work-in-progress. Code and docume

May 26, 2022
A simple PHP GitHub API client, Object Oriented, tested and documented.

PHP GitHub API A simple Object Oriented wrapper for GitHub API, written with PHP. Uses GitHub API v3 & supports GitHub API v4. The object API (v3) is

May 26, 2022
A simple Object Oriented PHP Client for Termii SMS API

Termii Client A simple Object Oriented PHP Client for Termii SMS API. Uses Termii API. Requirements PHP >= 7.2 Guzzlehttp ~6|~7 Installation Via Compo

Feb 24, 2022
php 8 client for the lemon.markets api

lemon.markets php client This repository contains a php 8+ compatible client for the https://lemon.markets API. The documentation of the API can be fo

Dec 21, 2021
PHP client for Microsoft Azure Face API.

Microsoft Azure Face API PHP client A PHP library that utilizes Azure Face REST API. Requirements PHP >= 7.4 Installation composer require darmen/php-

May 20, 2022
PHP Client for the GoFlink API

GoFlink PHP API Client This project is an unofficial library to communicate with the GoFlink API from your PHP project. Documentation about the API is

Dec 30, 2021