marcandre/google-photos-library

PHP版本的Google Photos Library API客户端库

1.6.3.1 2021-03-14 21:09 UTC

This package is auto-updated.

Last update: 2024-09-15 04:57:48 UTC


README

此仓库包含用于Google Photos Library API的PHP客户端库。

您可以在samples分支中找到此库的示例。请参阅下面的示例部分。

要求和准备

此库依赖于Composer。如果您没有将Composer安装在命令行上作为composer,请按照Linux/unix/OS XWindows安装指南进行操作。

  • 系统要求和依赖项可以在该库的composer.json中找到这里。如果您不熟悉Composer,请参阅此页以获取更多详细信息。
  • 您的PHP安装必须包含bcmath扩展
  • OAuth 2.0凭据已为您项目配置,如下所述。

下载客户端库

首先,下载库,然后设置OAuth 2.0凭据以访问API。接下来,您可以通过示例了解客户端库的使用。

以下是一些下载此库的方法

使用composer require

按照以下步骤将此库作为第三方库下载到您的项目中。该库将由Composer下载并存储在vendor/目录下。示例不会通过此下载方法下载。

$ composer require google/photos-library

使用git clone

如果您想修改或为此库做出贡献(例如,提交pull请求),或者您想尝试我们的示例,请使用此方法。当您克隆仓库时,所有文件都将下载。

  1. 在命令提示符中运行git clone https://github.com/google/php-photoslibrary.git
  2. 您将获得一个php-photoslibrary目录。通过运行cd php-photoslibrary进入该目录。
  3. 在命令提示符中运行composer install。这将安装使用库所需的所有依赖项。

下载压缩的tarball

仅当您想尝试使用此客户端库尝试Google Photos Library API时才使用此方法。tarball提取的目录将仅包含来自samples分支的示例。

  1. 发布页面上,选择您要尝试的版本。然后,在下载下,选择您选择的tarball,例如,php-photoslibrary-samples-vX.Y.Z.tar.gz
  2. 将您下载的文件提取到您计算机上的任何位置。
  3. 导航到提取的目录(例如,php-photoslibrary-samples-vX.Y.Z)。
  4. 在命令提示符中运行composer install。这将安装使用库和运行示例所需的所有依赖项。

为PHP设置OAuth2凭据

Google Photos Library API使用OAuth2作为认证机制。请注意,库API不支持服务帐户。

要完成以下流程中的“启用API”和“配置OAuth2.0”步骤,请参考开发者文档中的入门指南

此客户端库与PHP Google Auth 库配合使用。初始化库时指定客户端密钥JSON文件。设置PhotosLibraryClient时使用认证库返回的认证凭证。查看sample/src/common/common.php文件以了解如何进行此操作的示例。

示例用法

了解如何使用此库的最好方法是查看示例。开发者文档还包括了此客户端库在PHP中的代码片段。

设置依赖项和OAuth 2凭证后,您可以访问API。以下是一个简短的示例,展示了如何创建一个新的相册

// [START sample_usage]
use Google\Auth\Credentials\UserRefreshCredentials;
use Google\Photos\Library\V1\PhotosLibraryClient;
use Google\Photos\Library\V1\PhotosLibraryResourceFactory;

try {
    // Use the OAuth flow provided by the Google API Client Auth library
    // to authenticate users. See the file /src/common/common.php in the samples for a complete
    // authentication example.
    $authCredentials = new UserRefreshCredentials( /* Add your scope, client secret and refresh token here */ );

    // Set up the Photos Library Client that interacts with the API
    $photosLibraryClient = new PhotosLibraryClient(['credentials' => $authCredentials]);

    // Create a new Album object with at title
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");

    // Make the call to the Library API to create the new album
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);

    // The creation call returns the ID of the new album
    $albumId = $createdAlbum->getId();
} catch (\Google\ApiCore\ApiException $exception) {
    // Error during album creation
} catch (\Google\ApiCore\ValidationException $e) {
    // Error during client creation
    echo $exception;
}
// [END sample_usage]

示例

一些示例包含在samples目录中。它们展示了如何访问媒体项、过滤媒体、共享相册和上传文件。

参考文档

此库的PHPDoc可以在本仓库的gh-pages分支中找到。您可以在以下位置在线浏览:https://ggdocs.cn/php-photoslibrary/index.html

一般Google Photos库API文档可在我们的Google Developers网站上找到:https://developers.google.com/photos

编码风格

我们使用PSR-2作为编码风格标准。假设您位于项目的根目录,要检查编码风格违规,请运行

vendor/bin/phpcs src --standard=phpcs_ruleset.xml -np

要自动修复(可修复的)编码风格违规,请运行

vendor/bin/phpcbf src --standard=phpcs_ruleset.xml

获取支持

对于客户端库特定的错误报告、功能请求和补丁,请在问题跟踪器上创建一个问题。

有关其他API问题、错误报告或功能请求,请参阅支持页面

公告和更新

有关Google Photos库API和客户端库的一般更新和新闻,请关注

许可证

版权所有 2018 Google LLC

本文件受Apache License,版本2.0(“许可证”)的许可;除非遵守许可证,否则不得使用此文件。您可以在以下位置获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言、权限和限制,请参阅许可证。