The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

eBay::API::Simple::JSON - Support for grabbing an RSS feed via API call

USAGE

  my $api = eBay::API::Simple::JSON->new();

  my $data = {     
    "user_eais_token" => "tim", 
    "body_text" => "mytext",    
    "foo" => "bar",
    "greener_alt_topic" => "/green/api/v1/greenerAlternativeTopic/2/",     
    "items"=> [ {         
        "ebay_item_id"=> "250814913221",         
        "photo"=> "http=>//thumbs2.ebaystatic.com/m/m9X7sXOK303v4e_fgxm_-7w/140.jpg",        
        "price"=> 2.96,         
        "title"=> "TEST PUT - VAPUR 16 OZ FLEXIBLE FOLDABLE WATER BOTTLE BPA FREE"     
    } ],     
    "meta_title"=> "Foldable bottles can be stashed away when the water is gone",     
    "title"=> "TEST PUT - Foldable bottles can be stashed away when the water is gone" 
  };

  $api->execute(
    'http://localhost-django-vm.ebay.com/green/api/v1/greenerAlternative/',
    $data
  );

  print $api->request_content() ."\n";

  if ( $api->has_error() ) {
    print "FAILED: " . $api->response_content();
    #print "FAILED: " . $api->response_hash->{error_message} . "\n";
  }
  else {
    print "SUCCESS!\n";
    print $api->response_object->header('Location') . "\n";
  }
 
  my $hash = $call->response_hash();

  # execution methods for "GET", "POST", "PUT", and "DELETE" requests
  $api->get( $endpoint );
  $api->post( $endpoint, data );
  $api->put( $endpoint, $data );
  $api->delete( $endpoint );
  

PUBLIC METHODS

new( { %options } }

my $call = ebay::API::Simple::JSON->new();

prepare( $url, $%args )

  $call->prepare( 
    'http://sfbay.craigslist.org/search/sss',
    { query  => 'shirt', format => 'rss', } 
  );
  

This method will construct the API request using the supplied URL.

Options

$url (required)

Feed URL to fetch

%$args (optional)

The supplied args will be encoded and appended to the URL

process()

This method will process the API response.

get( $url )

execute a "GET" request to the specified endpoint

post( $url )

execute a "POST" request to the specified endpoint

put( $url )

execute a "PUT" request to the specified endpoint

delete( $url )

execute a "DELETE" request to the specified endpoint

BASECLASS METHODS

request_agent

Accessor for the LWP::UserAgent request agent

request_object

Accessor for the HTTP::Request request object

request

Accessor for the HTTP::Request request object

request_content

Accessor for the complete request body from the HTTP::Request object

response_content

Accessor for the HTTP response body content

response_object

Accessor for the HTTP::Response response object

response

Accessor for the HTTP::Response response object

response_dom

Accessor for the LibXML response DOM

response_hash

Accessor for the hashified response content

response_json

Accessor for the json response content

nodeContent( $tag, [ $dom ] )

Helper for LibXML that retrieves node content

errors

Accessor to the hashref of errors

has_error

Returns true if the call contains errors

errors_as_string

Returns a string of API errors if there are any.

PRIVATE METHODS

_get_request_body

This method supplies the JSON body for the web service request

_get_request_headers

This methods supplies the headers for the RSS API call

_get_request_object

This method creates the request object and returns to the parent class

AUTHOR

Tim Keefer <tim@timkeefer.com>

COPYRIGHT

Tim Keefer 2009