leverage-php / aweber
AWeber官方API客户端库的分支。
Requires
- alexpts/http-message-parser: ^0.0.3
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 auto-updated.
Last update: 2024-09-28 18:42:38 UTC
README
这是原始AWeber-API-PHP-Library的分支,用于修复OAuth响应解析问题,该问题在AWeber端由于响应格式更改而突然出现,尽管多年的稳定运行。
预期不会进行维护。
此客户端库已弃用。
此库将不再提供支持,且不支持OAuth2。
请访问我们的PHP示例作为参考。
AWeber API PHP Library 
用于轻松集成AWeber API的PHP库。
基本用法
参考demo.php以查看如何认证应用程序并查询API的工作示例。
请参阅https://labs.aweber.com/docs/php-library-walkthrough以获取更完整的文档。
错误处理
有时会发生错误,您的应用程序应适当地处理它们。每当发生API错误时,将引发AWeberAPIException,其中包含详细的错误消息和文档链接,解释出了什么问题。
您应该在try/except块中包装对API的任何调用。
常见错误
- 无效请求(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-09-02: v1.1.18
- 修复了'application/json'请求中嵌套对象的格式问题。
- 修复了在头中发送额外数据的问题。
- 修复了允许将自定义字段作为表单编码发送的问题。
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方法中的bug,其中获取集合的下一页未包含先前的搜索参数。
-
我们已经将如何存储集合数据更改到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,该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 notice。
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类中的一个bug,以正确设置集合中找到的条目的URL。
2011-10-10: v1.1.1
- 如果安装了多个客户端库实例,则引发E_USER_WARNING而不是致命错误。
2011-08-29: v1.1.0
- 修改客户端库以在任何API错误(HTTP状态 >= 400)上引发AWeberAPIException。
- 重构测试以获得更好的代码覆盖率
- 重构移动和创建方法以返回资源或错误时引发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
。