zao-web/wp-api-connect

WordPress REST API 和 OAuth 连接的辅助类。

v0.2.6 2017-03-09 18:24 UTC

README

一个通过 WordPress REST APIOAuth 1.0a 连接到 WordPress REST API 的工具。

要开始,您需要安装 WP REST API 插件OAuth 插件

要使用此库,您需要从库的根目录运行 composer install,然后从您的插件/主题中包含主库文件 wp-api-connect.php 和 composer 自动加载器 vendor/autoload.php

(提示:如果您想有一个保存客户端密钥和测试连接的 UI,请查看 WP API Connect UI.)

安装并激活后,您需要创建一个 '客户端应用程序'。当您拥有客户端密钥和密钥时,您将创建一个新的 Zao\WP_API\OAuth1\Connect 对象,通过传递这些凭据以及 REST API URL 和注册的回调 URL

// Make sure you run `composer install`!
require_once 'vendor/autoload.php';

// include the library.
require_once( 'wp-api-connect.php' );

// Get the connect object
$api_connect = new Zao\WP_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

0.1.5

  • 从 composer.json 中删除自动加载(暂时)。

0.1.4

  • 添加处理错误的实用方法。
  • 在 wp_remote_request 做之前将帖子体转换为查询字符串,因为 http_build_query 会删除空值,而 OAuth 签名最终不会匹配。

0.1.3

  • 修复一些文档和“聪明的”代码,并修复一个错误的变量名。
  • 添加类存在检查,这样我们就不会破坏具有多个实例化的网站。
  • 将响应代码存储为对象属性。
  • 在创建响应代码之前考虑来自响应的 WP_Error
  • 接受头数组,并将这些头传递给所有请求。
  • 选项/瞬态密钥应该是所有参数的哈希,而不仅仅是 URL。
  • 如果请求失败(或被要求不缓存),则不要缓存API描述。
  • 将头信息和键/option_key作为只读属性使其可访问。
  • 从JSON改为REST以匹配WordPress核心插件。
  • 将错误选项移动到其自己的方法中。

0.1.2

  • 对失败的请求进行更好的检查。
  • 为每个调用设置HTTP方法,以确保OAuth签名匹配。
  • 根据当前URL创建一个重定向URL,或允许传入一个URL。
  • 将响应保留为可访问的类属性,并添加获取/设置请求方法。同时正确处理GET请求的授权头。
  • 根据审查员反馈进行一些清理。

0.1.1

  • 重命名文件

0.1.0

  • 发布