NAME

WWW::Netflix::API - Interface for Netflix's API

VERSION

Version 0.01

OVERVIEW

This module is to provide your perl applications with easy access to the Netflix API. The Netflix API allows access to movie and user information, including queues, rating, rental history, and more.

SYNOPSIS

  use WWW::Netflix::API;
  use Data::Dumper;

  my %auth = Your::Custom::getAuthFromCache();
  # consumer key/secret values below are fake
  my $netflix = WWW::Netflix::API->new({
        consumer_key    => '4958gj86hj6g99',
        consumer_secret => 'QWEas1zxcv',
	access_token    => $auth{access_token},
	access_secret   => $auth{access_secret},
	user_id         => $auth{user_id},

	xml_filter => sub { use XML::Simple; XMLin(@_) },  # optional
  });
  if( ! $auth{user_id} ){
    my ( $user, $pass ) = .... ;
    @auth{qw/access_token access_secret user_id/} = $netflix->RequestAccess( $user, $pass );
    Your::Custom::storeAuthInCache( %auth );
  }

  $netflix->REST->Users->Feeds;
  $netflix->submit() or die 'request failed';
  print Dumper $netflix->content;

  $netflix->REST->Catalog->Titles->Movies('18704531');
  $netflix->submit() or die 'request failed';
  print Dumper $netflix->content;

GETTING STARTED

The first step to using this module is to register at http://developer.netflix.com -- you will need to register your application, for which you'll receive a consumer_key and consumer_secret keypair.

Any applications written with the Netflix API must adhere to the Terms of Use and Branding Requirements.

This module provides access to the REST API via perl syntactical sugar. For example, to find a user's queue, the REST url is of the form users/userID/feeds :

http://api.netflix.com/users/T1tareQFowlmc8aiTEXBcQ5aed9h_Z8zdmSX1SnrKoOCA-/queues/disc

Using this module, the syntax would be:

$netflix->REST->Users->Feeds;
$netflix->submit(%$params) or die;
print $netflix->content;

Other examples include:

$netflix->REST->Users;
$netflix->REST->Users->At_Home;
$netflix->REST->Catalog->Titles->Movies('18704531');
$netflix->REST->Users->Feeds;
$netflix->REST->Users->Rental_History;

All of the possibilities (and parameter details) are outlined here: http://developer.netflix.com/docs/REST_API_Reference

There is a helper method rest2sugar included that will provide the proper syntax given a url. This is handy for translating the example urls in the REST API Reference.

The following describe the authentication that's happening under the hood and were used heavily in writing this module:

http://developer.netflix.com/docs/Security

http://josephsmarr.com/2008/10/01/using-netflixs-new-api-a-step-by-step-guide/#

Net::OAuth

METHODS

new

REST

RequestAccess

submit

ATTRIBUTES

content

url

rest2sugar

.....other attributes.....

INTERNAL

AUTHOR

David Westbrook, <dwestbrook at gmail.com>

BUGS

Please report any bugs or feature requests to bug-www-netflix-api at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Netflix-API. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc WWW::Netflix::API

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2008 David Westbrook, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.