ncsuwebdev/gclient

本包最新版本(1.02)没有可用的许可证信息。

支持Laravel 5.6+的Google API客户端包装器

1.02 2023-05-22 21:33 UTC

This package is auto-updated.

Last update: 2024-09-23 00:40:12 UTC


README

ncsuwebdev/gclient包允许您更轻松地将Google API集成到Laravel应用程序中。该包最初的重点是帮助开发需要与组织的G Suite域更紧密集成的应用程序,以提供域管理和支持。然而,此包也可以用于其他Google API。

此包受到Google API Client Wrapper包的启发。

要求

  • PHP ^5.6|^7.0|^8.0
  • Laravel >5.6

安装

您可以通过composer安装此包

composer require ncsuwebdev/gclient

包将自动注册自身。

配置

要使API凭证与Google API正常工作,需要进行许多步骤。

设置凭证文件存储

Google API将提供一些json文件,用于存储凭证。这些文件应存储在您的web服务目录空间之外。我们建议在项目的根目录中创建一个名为googleapi的新目录。您可以将其命名为任何您喜欢的名称,但请确保在配置文件中正确引用它。

在Google开发者控制台创建项目

访问Google开发者控制台以创建一个具有自己的API凭证的新项目。

  1. 指定项目所需的API作用域。请注意选定的API,以确保您可以将它们添加到配置文件中。

  2. 设置应用程序类型为“其他”的OAuth 2.0客户端ID。设置完成后,下载client_secrets.json文件并将其保存到googleapi目录。

域广泛委派

如果您正在使用G Suite域并且需要域广泛委派,您需要在开发者控制台中设置和配置服务帐户以及相关用户。下载提供的oauth2service.json文件并将其保存到googleapi目录。

您还需要在G Suite管理员控制台中授权服务帐户客户端ID的API作用域列表。查看wiki以获取默认列表以开始。

初始化配置变量

您可以选择运行

php artisan vendor:publish --provider="NCSU\GClient\GoogleClientServiceProvider" --tag="config"

将默认配置值发布到您的应用程序中。如果您希望更改任何Google API作用域,则需要发布一个配置文件。

您需要在.env文件中配置以下配置值

  • GOOGLE_APP_NAME
  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
  • GOOGLE_SERVICE_ACCOUNT_NAME
  • GOOGLE_SERVICE_ACCOUNT_JSON
  • GOOGLE_CUSTOMER_ID
  • GOOGLE_DOMAIN_NAME
  • GOOGLE_SECRETS_FROM_BASE_PATH
  • GOOGLE_CREDENTIALS_PATH
  • GOOGLE_TOKEN_PATH

多域名

如果您需要处理多个域名,但不想不断更改.env或凭证文件,您可以在.env文件中将GOOGLE_ENV设置为字符串,该字符串将作为您配置变量的前缀。

例如,如果您将GOOGLE_ENV='TESTING',则配置文件将搜索前缀为TESTING_的必要变量,例如TESTING_GOOGLE_CLIENT_ID

授权

要授权您的应用程序与Google API通信,请运行以下命令:

php artisan gclient:authorize

按照提示,使用您在开发者控制台中使用的Google账号授权API访问。

如果您在授权后更改了任何API权限,应该运行

php artisan gclient:authorize --reauth

以获取具有正确权限的新令牌。