API Request Collector

A simple plugin to log API requests performed for the purpose of debugging

Author:Aaron Brazell (profile at wordpress.org)
WordPress version required:3.5.1
WordPress version tested:3.6-beta1
Plugin version:0.1
Added to WordPress repository:30-04-2013
Last updated:30-04-2013
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:0
Rated by:0
Plugin URI:
Total downloads:965
plugin download
Click to start download

This is a very simple plugin that creates a new adminbar menu with a list of pertinent API calls used on a page.

However, no good thing happens in a vacuum, and you good folks, are developers.

In order to log API calls, you should invoke the log_api_call() method of the $ab_api_logger global object. Of course, if you prefer, you can instantiate your own object using the AB_API_Logger class.

The log_api_call() method takes two properties. The first is an array of URLs that will be included as menu items (easy access, easy click to see responses). By default, the plugin maintains a property $api_calls with this array and uses it to parse out the menu items.

However, if you wish to maintain your own array, you can do that too. The plugin takes care of what it needs, and you can feel free to maintain what you need.

The second argument for the log_api_calls() method is the URL that will be added to the adminbar menu. You can escape it if you want, but I will as well for security.

The reason I built this plugin is because I deal with APIs a lot. My normal approach to API integration is to use a pre-existing PHP library or, more commonly, build a library around the API so I can use it easily without having to remember everything.

Usually, this means I create a class and that class is filled with methods that construct a URL based on parameters and then use wp_remote_get() to retrieve the response from the API. Anytime after the URL is created, invoke this plugin:

if( class_exists( 'AB_API_Logger' ) ) {
    // Example API Call: $api_url (http://api.example.com?apikey=asdfASD234&post_id=213)
    global $ab_api_logger;
    $ab_api_logger->log_api_call( $ab_api_logger->api_calls, $api_url );

Pull requests can be submitted via Github