NAME
WebService::Pandora::Partner - Pandora WebService API Partner
SYNOPSIS
# creating a new Partner object
package WebService::Pandora::Partner::MyPartner;
use base 'WebService::Pandora::Partner';
sub new {
my $caller = shift;
my $class = ref( $caller );
$class = $caller if ( !$class );
my $self = $class->SUPER::new( username => 'username',
password => 'password',
deviceModel => 'model',
decryption_key => 'key',
encryption_key => 'key',
host => 'tuner.pandora.com' );
return $self;
}
# using a partner object
$partner = WebService::Pandora::Partner::MyPartner->new();
$result = $partner->login() or die( $partner->error() );
DESCRIPTION
This module is a base class that should be inherited and not used directly. When logging in to the Pandora API, you must first login using a particular partner, such as an Apple iOS or Android device. Each partner has its own credentials and encryption/decryption keys, and some use different HTTP hosts than others to query the API. The WebService::Pandora package provides modules for several known partners and will default to using WebService::Pandora::Partner::iOS if one isn't provided.
CONSTRUCTOR
new
Creates a new WebService::Pandora::Partner object with the arguments given. All of the options are required and used by the login() method.
- username => STRING [required]
-
The username of the partner to use when logging in.
- password => STRING [required]
-
The password of the partner to use when logging in.
- deviceModel => STRING [required]
-
The device model name to use when logging in.
- encryption_key => STRING [required]
-
The encryption key to use when encrypting the JSON data being sent to the Pandora API method.
- decryption_key => STRING [required]
-
The decryption key to use when decrypting the JSON data send back from the Pandora API method.
- host => STRING [required]
-
The host portion of the URL to use when issuing the HTTP request to the Pandora API method.
METHODS
login
Returns a hashref containing the information from the login request when the login was successful, or a false value on failure. Internally, this will execute the auth.partnerLogin Pandora API method using the WebService::Pandora::Method library.
$result = $partner->login() or die( $partner->error() );
error
Returns a string containing a message about why the login call failed. The error string may come from internally in the module, from a failed HTTP request, or from the Pandora API itself.
SEE ALSO
WebService::Pandora WebService::Pandora::Method
AUTHOR
Mitch McCracken <mrmccrac@gmail.com>