truegenics / aweber
官方AWeber API客户端库。已修改。
Requires (Dev)
- bamboohr/phpcs: ^0.1.4
- mayflower/php-codebrowser: ^1.1
- pdepend/pdepend: ^2.2
- php-di/phpdoc-reader: ^2.0
- phpdocumentor/phpdocumentor: ^2.9
- phploc/phploc: ^3.0
- phpmd/phpmd: ^2.4
- phpunit/phpunit: ^5.6
- sebastian/phpcpd: ^2.0
- squizlabs/php_codesniffer: ^2.7
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
- 在Move Subscriber方法中添加了一个参数,用于最后发送的跟进消息编号。
- 以支持API的1.0.16版本。请参阅https://labs.aweber.com/docs/changelog
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 phpunit,ant phpcs。