NAME

WWW::Shopify::Public - Main object representing public app access to a particular Shopify store.

DESCRIPTION

Inherits all methods from WWW::Shopify, provides additional mechanisms to modify the used access_token, user-agent and url handler.

METHODS

new(url, api_key, access_token)

Creates a new WWW::Shopify::Public object, which allows you to make calls via the shopify public app interface.

You can see an overview of the authentication workflow for a public app here: http://api.shopify.com/authentication.html

encode_url(url)

Modifies the requested url by prepending the api key and the password, as well as the shop's url, before sending the request off to the user agent.

access_token([access_token])

Gets/sets the app's access token.

ua([new_ua])

Gets/sets the user agent we're using to access shopify's api. By default we use LWP::UserAgent, with a timeout of 5 seconds.

PLEASE NOTE: At the very least, with LWP::UserAgent, at least, on my system, I had to force the SSL layer of the agent to use SSLv3, using the line

LWP::UserAgent->new( ssl_opts => { SSL_version => 'SSLv3' } );

Otherwise, Shopify does some very weird stuff, and some very weird errors are spit out. Just FYI.

authorize_url([scope], redirect)

When the shop doesn't have an access_token, this is what you should be redirecting your client to. Inputs should be your scope, as an array, and the url you want to redirect to.

exchange_token(shared_secret, code)

When you have a temporary code, which you should get from authorize_url's redirect and you want to exchange it for a token, you call this.

SEE ALSO

WWW::Shopify::Item, WWW::Shopify

AUTHOR

Adam Harrison (adamdharrison@gmail.com)

LICENSE

See LICENSE in the main directory.