WWW::SmugMug::API - Perl wrapper for the SmugMug API
Version 1.02
use WWW::SmugMug::API;
my $sm_api = WWW::SmugMug::API->new(
{
sm_api_key => 'changeme',
secure => 1,
}
);
$sm_api->login_withPassword(
{
EmailAddress => 'me@privacy.net',
Password => 'password',
}
);
...
$sm_api->logout;
=head1 DESCRIPTION
Provides a low-level wrapper for the 1.2.0 version of the SmugMug API. Calls
requiring a SessionID use the one returned from the last successful login call
(login_anonymously, login_withPassword, or login_withHash), and calls requiring
the API key use the sm_api_key parameter passed to the constructor; these
provided parameters cannot be overridden. All other required parameters must
be provided by the caller.
The wrapper will silently discard any parameters that it does not recognise.
Method names are the API methods with the 'smugmug.' prefix removed and '_'
substituted for '.' (e.g. 'smugmug.login.withPassword becomes
login_withPassword())
Methods return hash references. The value of the 'stat' key will be 'ok' if
the call succeeded, 'fail' otherwise. Fail responses contain three key/value
pairs: 'stat', 'message', and 'code'. Message is an informative message
about the failure. The code will be positive for an error thrown by SmugMug
and negative for one from the wrapper. The following error codes are known:
- -3
-
Session not initialised. Before calling any other methods, you must
successfully call login_anonymously, login_withPassword, or login_withHash.
- -2
-
HTTP error. Message will be the complete error (e.g. '404 Not Found')
- -1
-
Missing required parameter. All parameters listed in the documentation as
required must be provided, or the wrapper will reject the call.
Invalid login.
Invalid session.
Invalid user.
System error.
Wrong format. (Image format when uploading, I believe)
Invalid album.
Ancient version.
Empty set.
Invalid API key.
NOTE: While this wrapper does provide a method called images_upload, per the
best practices recommendation of the SmugMug developers we use a binary
uploading method (HTTP PUT) to upload the image; it is not an implementation
of the API method smugmug.images.upload. images_uploadFromURL is not provided.
Create a new client object. Parameters:
- sm_api_key
-
API key
- agent
-
Useragent string.
- secure
-
Set this to 1
to use SSL. Defaults to 0
- timeout
-
Time (in seconds) to wait for a response. Defaults to 30.
- retry
-
Set this to 1
to retry on error. Defaults to 0
Calls smugmug.albums.applyWatermark.
Parameters:
- AlbumID (integer) (required)
- WatermarkID (integer) (required)
Calls smugmug.albums.changeSettings.
Parameters:
- AlbumID (integer) (required)
- Title (string)
- CategoryID (integer)
- SubCategoryID (integer)
- Description (string)
- Keywords (string)
- AlbumTemplateID (integer)
- Geography (boolean)
- HighlightID (integer)
- Position (integer)
- Header (boolean)
- Clean (boolean)
- EXIF (boolean)
- Filenames (boolean)
- SquareThumbs (boolean)
- TemplateID (integer)
- SortMethod (string)
- SortDirection (boolean)
- Password (string)
- PasswordHint (string)
- Public (boolean)
- WorldSearchable (boolean)
- SmugSearchable (boolean)
- External (boolean)
- Protected (boolean)
- Watermarking (boolean)
- WatermarkID (integer)
- HideOwner (boolean)
- Larges (boolean)
- XLarges (boolean)
- X2Larges (boolean)
- X3Larges (boolean)
- Originals (boolean)
- CanRank (boolean)
- FriendEdit (boolean)
- FamilyEdit (boolean)
- Comments (boolean)
- Share (boolean)
- Printable (boolean)
- DefaultColor (boolean)
- ProofDays (integer)
- Backprinting (string)
- UnsharpAmount (float)
- UnsharpRadius (float)
- UnsharpThreshold (float)
- UnsharpSigma (float)
- CommunityID (integer)
Calls smugmug.albums.create.
Parameters:
- Title (string) (required)
- CategoryID (string) (required)
- SubCategoryID (integer)
- Description (string)
- Keywords (string)
- AlbumTemplateID (integer)
- Geography (boolean)
- HighlightID (integer)
- Position (integer)
- Header (boolean)
- Clean (boolean)
- EXIF (boolean)
- Filenames (boolean)
- SquareThumbs (boolean)
- TemplateID (integer)
- SortMethod (string)
- SortDirection (boolean)
- Password (string)
- PasswordHint (string)
- Public (boolean)
- WorldSearchable (boolean)
- SmugSearchable (boolean)
- External (boolean)
- Protected (boolean)
- Watermarking (boolean)
- WatermarkID (integer)
- HideOwner (boolean)
- Larges (boolean)
- XLarges (boolean)
- X2Larges (boolean)
- X3Larges (boolean)
- Originals (boolean)
- CanRank (boolean)
- FriendEdit (boolean)
- FamilyEdit (boolean)
- Comments (boolean)
- Share (boolean)
- Printable (boolean)
- DefaultColor (boolean)
- ProofDays (integer)
- Backprinting (string)
- UnsharpAmount (float)
- UnsharpRadius (float)
- UnsharpThreshold (float)
- UnsharpSigma (float)
- CommunityID (integer)
Calls smugmug.albums.delete.
Parameters:
- AlbumID (integer) (required)
Calls smugmug.albums.get.
Parameters:
- NickName (string)
- Heavy (boolean)
- SitePassword (string)
- ShareGroup ()
Calls smugmug.albums.getInfo.
Parameters:
- AlbumID (string) (required)
- Password (string)
- SitePassword (string)
- AlbumKey (string)
Calls smugmug.albums.getStats.
Parameters:
- AlbumID (integer) (required)
- Month (integer) (required)
- Year (integer) (required)
- Heavy (boolean)
Calls smugmug.albums.removeWatermark.
Parameters:
- AlbumID (integer) (required)
Calls smugmug.albums.reSort.
Parameters:
- AlbumID (integer) (required)
- By (string) (required)
- Direction (string) (required)
Calls smugmug.albumtemplates.changeSettings.
Parameters:
- AlbumTemplateID (integer) (required)
- Name (string)
- HighlightID (integer)
- SortMethod (string)
- SortDirection (boolean)
- Public (boolean)
- Password (string)
- PasswordHint (string)
- Printable (boolean)
- Filenames (boolean)
- Comments (boolean)
- External (boolean)
- Originals (boolean)
- EXIF (boolean)
- Share (boolean)
- Header (boolean)
- Larges (boolean)
- XLarges (boolean)
- X2Larges (boolean)
- X3Larges (boolean)
- Clean (boolean)
- Protected (boolean)
- Watermarking (boolean)
- FamilyEdit (boolean)
- FriendEdit (boolean)
- HideOwner (boolean)
- DefaultColor (boolean)
- Geography (boolean)
- CanRank (boolean)
- ProofDays (integer)
- Backprinting (string)
- SmugSearchable (boolean)
- UnsharpAmount (float)
- UnsharpRadius (float)
- UnsharpThreshold (float)
- UnsharpSigma (float)
- WorldSearchable (boolean)
- TemplateID (integer)
- CommunityID (integer)
- WatermarkID (integer)
Calls smugmug.albumtemplates.create.
Parameters:
- Name (string)
- HighlightID (integer)
- SortMethod (string)
- SortDirection (boolean)
- Public (boolean)
- Password (string)
- PasswordHint (string)
- Printable (boolean)
- Filenames (boolean)
- Comments (boolean)
- External (boolean)
- Originals (boolean)
- EXIF (boolean)
- Share (boolean)
- Header (boolean)
- Larges (boolean)
- XLarges (boolean)
- X2Larges (boolean)
- X3Larges (boolean)
- Clean (boolean)
- Protected (boolean)
- Watermarking (boolean)
- FamilyEdit (boolean)
- FriendEdit (boolean)
- HideOwner (boolean)
- DefaultColor (boolean)
- Geography (boolean)
- CanRank (boolean)
- ProofDays (integer)
- Backprinting (string)
- SmugSearchable (boolean)
- UnsharpAmount (float)
- UnsharpRadius (float)
- UnsharpThreshold (float)
- UnsharpSigma (float)
- WorldSearchable (boolean)
- TemplateID (integer)
- CommunityID (integer)
- WatermarkID (integer)
Calls smugmug.albumtemplates.get.
Parameters:
No parameters
Calls smugmug.categories.create.
Parameters:
- Name (string) (required)
Calls smugmug.categories.delete.
Parameters:
- CategoryID (integer) (required)
Calls smugmug.categories.get.
Parameters:
- NickName (string)
- SitePassword (string)
Calls smugmug.categories.rename.
Parameters:
- CategoryID (integer) (required)
- Name (string) (required)
Calls smugmug.family.add.
Parameters:
- NickName (string) (required)
Calls smugmug.family.get.
Parameters:
No parameters
Calls smugmug.family.remove.
Parameters:
- NickName (string) (required)
Calls smugmug.family.removeAll.
Parameters:
No parameters
Calls smugmug.friends.add.
Parameters:
- NickName (string) (required)
Calls smugmug.friends.get.
Parameters:
No parameters
Calls smugmug.friends.remove.
Parameters:
- NickName (string) (required)
Calls smugmug.friends.removeAll.
Parameters:
No parameters
Calls smugmug.images.applyWatermark.
Parameters:
- ImageID (integer) (required)
- WatermarkID (integer) (required)
Calls smugmug.images.changePosition.
Parameters:
- ImageID (integer) (required)
- Position (integer) (required)
Calls smugmug.images.changeSettings.
Parameters:
- ImageID (integer) (required)
- AlbumID (integer)
- Caption (string)
- Keywords (string)
- Hidden (boolean)
Calls smugmug.images.crop.
Parameters:
- ImageID (integer) (required)
- Width (integer) (required)
- Height (integer) (required)
- X (integer) (required)
- Y (integer) (required)
Calls smugmug.images.delete.
Parameters:
- ImageID (integer) (required)
Calls smugmug.images.getEXIF.
Parameters:
- ImageID (integer) (required)
- Password (string)
- SitePassword (string)
- ImageKey (string)
Calls smugmug.images.getInfo.
Parameters:
- ImageID (integer) (required)
- Password (string)
- SitePassword (string)
- ImageKey (string)
Calls smugmug.images.getStats.
Parameters:
- ImageID (integer) (required)
- Month (integer) (required)
Calls smugmug.images.getURLs.
Parameters:
- ImageID (integer) (required)
- TemplateID (integer)
- Password (string)
- SitePassword (string)
- ImageKey (string)
Calls smugmug.images.removeWatermark.
Parameters:
- ImageID (integer) (required)
Calls smugmug.images.rotate.
Parameters:
- ImageID (integer) (required)
- Degrees (integer)
- Flip (boolean)
Calls smugmug.images.zoomThumbnail.
Parameters:
- ImageID (integer) (required)
- Width (integer) (required)
- Height (integer) (required)
- X (integer) (required)
- Y (integer) (required)
Calls smugmug.login.anonymously.
Parameters:
No parameters
- UserID (integer) (required)
- PasswordHash (string) (required)
- EmailAddress (string) (required)
- Password (string) (required)
No parameters
Calls smugmug.products.get.
Parameters:
No parameters
Calls smugmug.propricing.getPortfolio.
Parameters:
- ProductType (string)
- ProductID (integer)
Calls smugmug.propricing.getAlbum.
Parameters:
- AlbumID (integer) (required)
- ProductType (string)
- ProductID (integer)
Calls smugmug.propricing.getImage.
Parameters:
- ImageID (integer) (required)
- ProductType (string)
- ProductID (integer)
Calls smugmug.sharegroups.addAlbum.
Parameters:
- ShareGroupID (integer) (required)
- AlbumID (integer) (required)
Calls smugmug.sharegroups.create.
Parameters:
- Name (string) (required)
- Description (string)
Calls smugmug.sharegroups.delete.
Parameters:
- ShareGroupID (integer) (required)
Calls smugmug.sharegroups.get.
Parameters:
- Heavy (boolean)
Calls smugmug.sharegroups.getInfo.
Parameters:
- ShareGroupID (integer) (required)
Calls smugmug.sharegroups.removeAlbum.
Parameters:
- ShareGroupID (integer) (required)
- AlbumID (integer) (required)
Calls smugmug.subcategories.create.
Parameters:
- Name (string) (required)
- CategoryID (integer) (required)
Calls smugmug.subcategories.delete.
Parameters:
- SubCategoryID (integer) (required)
Calls smugmug.subcategories.get.
Parameters:
- CategoryID (integer) (required)
- NickName (string)
- SitePassword (string)
Calls smugmug.subcategories.getAll.
Parameters:
- NickName (string)
- SitePassword (string)
Calls smugmug.subcategories.rename.
Parameters:
- SubCategoryID (integer) (required)
- Name (string) (required)
Calls smugmug.themes.get.
Parameters:
No parameters
Calls smugmug.users.getDisplayName.
Parameters:
- NickName (string)
Calls smugmug.users.getTransferStats.
Parameters:
- Month (integer) (required)
- Year (integer) (required)
- Heavy (boolean)
Calls smugmug.users.getTree.
Parameters:
- NickName (string)
- Heavy (boolean)
- SitePassword (string)
- Sharegroup ()
Calls smugmug.watermarks.changeSettings.
Parameters:
- ImageID (integer) (required)
- Name (string)
- Pinned (string)
- Dissolved (integer)
- Thumbs (boolean)
Calls smugmug.watermarks.create.
Parameters:
- ImageID (integer) (required)
- Name (string)
- Pinned (string)
- Dissolved (integer)
- Thumbs (boolean)
Calls smugmug.watermarks.delete.
Parameters:
- WatermarkID (integer) (required)
Calls smugmug.watermarks.get.
Parameters:
- Heavy (boolean)
Calls smugmug.watermarks.getInfo.
Parameters:
- WatermarkID (integer) (required)
Returns the currently cached SessionID.
Parameters:
No parameters
Uploads an image.
Parameters:
- ImageData (binary) (required)
- FileName (string) (required)
- AlbumID (integer)
- ImageID (integer)
- Caption (string)
- Keywords (string)
- Latitude (float?)
- Longitude (float?)
- Altitude (integer?)
This section intentionally left blank.
WWW::SmugMUG::API requires no special configuration or environment variables.
JSON
LWP::UserAgent
No known incompatibilities.
No known bugs.
You can find documentation for this module with the perldoc command.
perldoc WWW::SmugMug::API
Paul Arthur, <flowerysong00 at yahoo.com>
This section intentionally left blank.
Copyright 2008 Paul Arthur MacIain, all rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.