truegenics/aweber

官方AWeber API客户端库。已修改。

1.0 2017-08-26 16:44 UTC

This package is not auto-updated.

Last update: 2024-09-18 21:15:00 UTC


README

PHP库,用于轻松集成AWeber API。

基本用法

请参考demo.php以查看如何认证应用程序并查询API的工作示例。

有关更完整的文档,请参阅:https://labs.aweber.com/docs/php-library-walkthrough

处理错误

有时会发生错误,并且您的应用程序应适当地处理它们。每当API发生错误时,都会引发AWeberAPIException,并提供详细错误消息和文档链接,说明出了什么问题。

您应在API调用周围包裹try/except块。

常见错误

  • 错误请求(400错误)
  • 您的应用程序未授权(401错误)
  • 您的应用程序已被速率限制(403错误)
  • 资源未找到(404错误)
  • API临时不可用(503错误)

有关完整列表,请参阅:https://labs.aweber.com/docs/troubleshooting

以下示例

<?php

$consumerKey = '***';
$consumerSecret = '***';
$accessKey = '***';
$accessSecret = '***';

$aweber = new AWeberAPI($consumerKey, $consumerSecret);
$account = $aweber->getAccount($accessKey, $accessSecret);

try {
    $resource = $account->loadFromUrl('/accounts/idontexist');
} catch (AWeberAPIException $exc) {
    print "<li> $exc->type on $exc->url, refer to $exc->message for more info ...<br>";
}
?>

访问个人可识别的订阅者数据

为了查看或更新订阅者的电子邮件、姓名、备注和ip_address字段,您的应用程序必须特别请求访问订阅者数据。有关如何访问个人可识别的订阅者信息的更多信息,请参阅我们的文档:https://labs.aweber.com/docs/permissions

变更日志

2017-08-21: v1.1.17

  • 修复创建时UTF-8问题

2016-12-16: v1.1.16

  • 使用classmap进行Composer自动加载

2016-11-09: v1.1.15

  • 为Broadcast Entry端点创建AWeberEntry

2015-02-17: v1.1.13

  • 移除请求中的双重编码以支持utf-8

2014-02-05: v1.1.12

  • 添加composer文件

2013-04-25: v1.1.11

  • 修复了在Collection Find Subscriber方法中存在的错误,其中获取集合的下一页未包括先前的搜索参数。

  • 我们已更改如何在内部存储AWeberCollection对象中的集合数据,以减少大型集合所需的内存量。

    为了降低内存使用量,AWeberCollection仅存储您遍历集合时的一页条目。

    • foreach和顺序数组索引操作现在需要的内存更少。

    • 通过索引随机访问数组元素将按需从API获取集合页面,如果集合数据尚未在内存中。

2013-02-07: v1.1.10

  • 更新APIUnreachableException以提供更多诊断数据。

2013-01-03: v1.1.9

  • 更新客户端库以支持API的1.0.17版本。(广播统计信息)

2012-12-13: v1.1.8

  • 修复了当集合大小为零时使用集合时引发异常的bug。

2012-12-10: v1.1.7

2012-09-19: v1.1.6

  • 修复了一个bug,该bug阻止了当资源属性的初始值为null时保存资源属性。
    • 使用array_key_exists代替isset对关联数组进行评估。需要PHP >= 4.0.7

2012-07-05: v1.1.5

  • 修复了一个bug,在更新订阅者自定义字段值时引发utf8_encode通知。

2012-05-08: v1.1.4 一些API开发者在使用demo.php脚本时报告了AWeberOAuthDataMissing异常。这个错误信息并不有帮助,因为这个异常的典型原因是无效的消费者密钥或密钥。

客户端库已被重构,以在返回40x/50x http状态码响应时始终引发AWeberAPIException。这个异常将清楚地指示错误的根源,以便更容易进行故障排除。

  • 重构了makeRequest,使其在返回40x或50x状态时始终引发AWeberAPIException。
  • 重构了makeRequest,以指示暂时的网络或防火墙连接问题。
  • 重构了用于测试的mock适配器makeRequest,使其与真实的makeRequest表现相同。

2012-04-18: v1.1.3

  • 移除了已弃用的split函数的使用。

2011-12-23: v1.1.2

  • 修复了AWeberCollection类中的一个错误,以便正确设置集合中找到的条目的URL。

2011-10-10: v1.1.1

  • 如果客户端库安装了多个实例,则引发E_USER_WARNING而不是致命错误。

2011-08-29: v1.1.0

  • 修改了客户端库,使其在出现任何API错误(HTTP状态码>=400)时引发AWeberAPIException。
  • 重构了测试以提高代码覆盖率。
  • 重构了move和create方法,使其在出现错误时返回资源或引发AWeberAPIException。
  • 向订阅者条目添加了getActivity方法。

运行测试

测试PHP API库需要安装几个实用工具。

要求

Apache Ant用于在build.xml文件中运行构建目标。获取最新版本。

设置/etc/php.ini配置文件。确保include_path包含正确的目录。(MacOS上的/usr/lib/php)将date.timezone设置为您的本地时区。

执行测试

一旦安装了上述要求,请确保运行composer install,这将确保安装所有测试依赖项。

从基本目录使用命令:ant运行测试。

可以通过指定ant目标运行单个测试:ant phpunitant phpcs