zookal/google_apiclient

此包已被弃用且不再维护。未建议替代包。

Google API 的 Magento 客户端库

安装: 8

依赖者: 0

建议者: 0

安全: 0

星标: 2

关注者: 5

Forks: 3,112

类型:magento-module

1.1.2 2014-11-25 14:35 UTC

This package is not auto-updated.

Last update: 2020-08-22 07:17:55 UTC


README

因为我们有 Magento 自动加载器,所以删除了所有 require_once 调用。还删除了 autoload.php

此库将被放置在 Magento 的 lib 文件夹中。

重置基线将保持此分支与当前 dev 保持最新。

由 Zookal 维护。

Build Status

PHP Google API 客户端库

描述

Google API 客户端库允许您在服务器上与 Google API 一起工作,例如 Google+、Drive 或 YouTube。

测试版

此库处于测试版。我们对库的稳定性和功能足够有信心,希望您基于它构建真实的生产应用程序。我们将努力支持库的公共和受保护界面,并在未来保持向后兼容性。在我们仍然是测试版的情况下,我们保留进行不兼容更改的权利。如果我们删除了一些功能(通常因为存在更好的功能或该功能不可行),我们的意图是弃用并提供充足的时间让开发者更新他们的代码。

要求

注意:由于加密算法要求,某些功能(服务帐户和 ID 令牌验证)需要 PHP 5.3.0 或更高版本。

开发者文档

http://developers.google.com/api-client-library/php

安装

有关最新安装和设置说明,请参阅文档

基本示例

有关关键客户端功能的示例,请参阅 examples/ 目录。

<?php

  require_once 'google-api-php-client/src/Google/autoload.php'; // or wherever autoload.php is located
  
  $client = new Google_Client();
  $client->setApplicationName("Client_Library_Examples");
  $client->setDeveloperKey("YOUR_APP_KEY");
  
  $service = new Google_Service_Books($client);
  $optParams = array('filter' => 'free-ebooks');
  $results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);

  foreach ($results as $item) {
    echo $item['volumeInfo']['title'], "<br /> \n";
  }
  

服务特定示例

YouTube: https://github.com/youtube/api-samples/tree/master/php

常见问题解答

如果某些功能不起作用,我该怎么办?

有关库的支持,最佳提问方式是通过 StackOverflow 上的 google-api-php-client 标签: http://stackoverflow.com/questions/tagged/google-api-php-client

如果库存在特定错误,请在Github问题跟踪器中提交问题,包括(最小化)失败的代码示例以及任何特定的错误信息。也可以提交功能请求,只要它们是核心库请求,而不是特定API请求:对于这些请求,请参考各个API的文档,了解最佳提交请求的位置。请尽量提供一个清晰的说明,说明该功能将解决的问题。

如何贡献代码?

我们通过Github拉取请求接受贡献,但所有贡献者都需要遵守标准的Google贡献者许可协议。您可以在文档中找到链接和更多说明:https://developers.google.com/api-client-library/php/contribute

我想看看X的示例!

如果X是库的功能,请提交!如果X是使用特定服务的示例,最佳位置是访问那些特定API的团队——我们更愿意链接到它们的示例,而不是将它们添加到库中,因为这样它们可以针对库的特定版本进行固定。如果您有其他API的示例,请告诉我们,我们将很高兴在README中添加链接!

为什么你们还支持5.2?

当我们开始开发1.0.0分支时,我们知道库的0.6版本存在几个基本问题需要修复。当时我们查看了库的使用情况以及其他相关项目,并确定PHP 5.2的安装基础仍然很大且活跃。您可以在WordPress统计数据中的PHP版本图表中看到这一点: http://wordpress.org/about/stats/。我们将继续关注我们看到的使用类型,并在可能的情况下利用新的PHP功能。

为什么Google_..._Service有奇怪的名字?

Service类通常是从API发现文档自动生成的: https://developers.google.com/discovery/。有时API中会添加一些具有不寻常名称的新功能,这可能导致PHP类中出现一些意外的或非标准的样式命名。

如何处理非JSON响应类型?

一些服务默认返回XML或类似格式,而不是JSON,这是库支持的格式。您可以通过在方法调用的最后一个参数中添加一个'alt'参数来请求JSON响应。

$opt_params = array(
  'alt' => "json"
);

如何将字段设置为null?

库从发送到Google API的对象中删除null,因为这默认是所有未初始化属性值。为了解决这个问题,请将您想设置为null的字段设置为Google_Model::NULL_VALUE。这是一个占位符,在通过网络发送时将被替换为真正的null。

针对发行商的说明

为了避免与自动加载器冲突,最好将autoload.php中的函数更新为google_api_php_client_autoload_MyProject

代码质量

使用PHPUnit运行PHPUnit测试。您可以在BaseTest.php中配置API密钥和令牌以运行所有调用,但这需要在Google开发者控制台中进行一些设置。

phpunit tests/

将style/中的ruleset.xml复制到您的/usr/share/php/PHP/CodeSniffer/Standards (或适当的等效目录)下的新目录GAPI/中,然后使用以下命令运行代码嗅探:

    phpcs --standard=GAPI src/