webdevstudios / wds-wp-rest-api-connect
一个辅助类,用于通过WordPress REST API和OAuth从一个WordPress安装连接到另一个。
v0.2.6
2017-03-08 17:33 UTC
Requires
- php: >5.3
- league/oauth1-client: ^1.6
README
一个通过OAuth 1.0a连接到WordPress REST API的工具。
要开始,您需要安装WP REST API插件和OAuth插件。
要使用此库,您需要从库的根目录运行composer install
,然后从您的插件/主题中包含主库文件wds-wp-rest-api-connect.php
和composer自动加载器vendor/autoload.php
。
安装并激活后,您需要创建一个'客户端应用程序'。当您有了客户端密钥和密钥时,您将创建一个新的WDS_WP_REST_API\OAuth1\Connect
对象,通过传递这些凭据以及REST API URL和已注册的回调URL
// Make sure you run `composer install`! require_once 'vendor/autoload.php'; // include the library. require_once( 'wds-wp-rest-api-connect.php' ); // Get the connect object $api_connect = new WDS_WP_REST_API\OAuth1\Connect(); // Client credentials $client = array( // Library will 'discover' the API url 'api_url' => 'WP SITE URL TO CONNECT TO', // App credentials set up on the server 'client_key' => 'YOUR CLIENT KEY', 'client_secret' => 'YOUR CLIENT SECRET', // Must match stored callback URL setup on server. 'callback_uri' => admin_url() . '?api-connect', ); /* * Initate the API connection. * * if the oauth connection is not yet authorized, (and autoredirect_authoriziation * is not explicitly set to false) you will be auto-redirected to the other site to * receive authorization. */ $discovery = $api_connect->init( $client );
然后您可以使用此对象检索认证请求URL,如果您已经认证,则可以发起请求。要查看完整的示例,请查看包含的example.php文件。
更新日志
0.2.6
- 从composer中删除Ryan McCue的Requests库,因为它现在存在于WP核心中。
0.2.5
- 修复一个变量中的拼写错误,该变量应该使用对象属性(对于旧模式)。
0.2.4
- 修复
Connect::auth_request()
中的错误逻辑,其中$response变量可能无法正确设置。
0.2.3
- 更新example.php
- 使请求更一致,并通过适当的过滤器传递参数。
- 修复了一些遗漏的异常处理器。
0.2.2
- 添加set_headers方法,以便能够设置用于发现的头。
- 使用我们自己的API Discovery库来使用WP http API,并且如果存在,正确传递任何头。
0.2.1
- 错误修复:修复reset_connection方法中的检查顺序,以确保始终调用delete_stored_error方法。
0.2.0
- 完全重写。破坏了向后兼容性,但上一个版本将无法与最新版本的WordPress OAuth插件一起使用。请参阅WP-API认证文档。
0.1.5
- 从composer.json中删除自动加载(目前)。
0.1.4
- 添加处理错误的实用方法。
- 在wp_remote_request之前将帖子主体转换为查询字符串,因为http_build_query会删除空值,而oauth签名最终无法匹配。
0.1.3
- 修复一些文档,并“聪明”的代码,并修复一个错误的变量名。
- 添加class_exists检查,以免破坏具有多个实例化的网站。
- 将响应代码存储为对象属性。
- 在创建响应代码之前考虑响应中的
WP_Error
。 - 接受头数组,并将这些头传递到所有请求中。
- 选项/瞬态密钥应该是所有参数的哈希,而不仅仅是URL。
- 如果请求失败(或被要求不缓存),则不要缓存API描述。
- 将头和密钥/option_key作为只读属性公开。
- 从JSON更改为REST以匹配WordPress核心插件。
- 将错误选项移动到其自己的方法。
0.1.2
- 更好地检查失败的请求。
- 为每个调用设置HTTP方法,以便OAuth签名匹配。
- 根据当前URL创建重定向URL,或允许传入一个URL。
- 将响应保持为可访问的类属性,并添加获取/设置请求方法。同时正确处理GET请求的授权头。
- 根据审查员的反馈进行一些清理。
0.1.1
- 重命名文件
0.1.0
- 发布