Zend_Service_ShortUrl

Zend_Service_SlideShare

The Zend_Service_SlideShare component is used to interact with the » slideshare.net web services for hosting slide shows online. With this component, you can embed slide shows which are hosted on this web site within a web site and even upload new slide shows to your account.

Getting Started with Zend_Service_SlideShare

In order to use the Zend_Service_SlideShare component you must first create an account on the slideshare.net servers (more information can be found » here) in order to receive an API key, username, password and shared secret value -- all of which are needed in order to use the Zend_Service_SlideShare component.

Once you have setup an account, you can begin using the Zend_Service_SlideShare component by creating a new instance of the Zend_Service_SlideShare object and providing these values as shown below:

  1. // Create a new instance of the component
  2. 'APIKEY',
  3.                                   'SHAREDSECRET',
  4.                                   'USERNAME',
  5.                                   'PASSWORD');

The SlideShow object

All slide shows in the Zend_Service_SlideShare component are represented using the Zend_Service_SlideShare_SlideShow object (both when retrieving and uploading new slide shows). For your reference a pseudo-code version of this class is provided below.

  1. span style="color: #808080; font-style: italic;">/**
  2.      * Retrieves the location of the slide show
  3.      *//**
  4.      * Gets the transcript for this slide show
  5.      *//**
  6.      * Adds a tag to the slide show
  7.      *//**
  8.      * Sets the tags for the slide show
  9.      *//**
  10.      * Gets all of the tags associated with the slide show
  11.      *//**
  12.      * Sets the filename on the local filesystem of the slide show
  13.      * (for uploading a new slide show)
  14.      *//**
  15.      * Retrieves the filename on the local filesystem of the slide show
  16.      * which will be uploaded
  17.      *//**
  18.      * Gets the ID for the slide show
  19.      *//**
  20.      * Retrieves the HTML embed code for the slide show
  21.      *//**
  22.      * Retrieves the Thumbnail URi for the slide show
  23.      *//**
  24.      * Sets the title for the Slide show
  25.      *//**
  26.      * Retrieves the Slide show title
  27.      *//**
  28.      * Sets the description for the Slide show
  29.      *//**
  30.      * Gets the description of the slide show
  31.      *//**
  32.      * Gets the numeric status of the slide show on the server
  33.      *//**
  34.      * Gets the textual description of the status of the slide show on
  35.      * the server
  36.      *//**
  37.      * Gets the permanent link of the slide show
  38.      *//**
  39.      * Gets the number of views the slide show has received
  40.      */

Note: The above pseudo-class only shows those methods which should be used by end-user developers. Other available methods are internal to the component.

When using the Zend_Service_SlideShare component, this data class will be used frequently to browse or add new slide shows to or from the web service.

Retrieving a single slide show

The simplest usage of the Zend_Service_SlideShare component is the retrieval of a single slide show by slide show ID provided by the slideshare.net application and is done by calling the getSlideShow() method of a Zend_Service_SlideShare object and using the resulting Zend_Service_SlideShare_SlideShow object as shown.

  1. // Create a new instance of the component
  2. 'APIKEY',
  3.                                   'SHAREDSECRET',
  4.                                   'USERNAME',
  5.                                   'PASSWORD'"Slide Show Title: {$slideshow->getTitle()}<br/>\n""Number of views: {$slideshow->getNumViews()}<br/>\n";

Retrieving Groups of Slide Shows

If you do not know the specific ID of a slide show you are interested in retrieving, you can retrieving groups of slide shows by using one of three methods:

  • Slide shows from a specific account

    You can retrieve slide shows from a specific account by using the getSlideShowsByUsername() method and providing the username from which the slide shows should be retrieved

  • Slide shows which contain specific tags

    You can retrieve slide shows which contain one or more specific tags by using the getSlideShowsByTag() method and providing one or more tags which the slide show must have assigned to it in order to be retrieved

  • Slide shows by group

    You can retrieve slide shows which are a member of a specific group using the getSlideShowsByGroup() method and providing the name of the group which the slide show must belong to in order to be retrieved

Each of the above methods of retrieving multiple slide shows a similar approach is used. An example of using each method is shown below:

  1. // Create a new instance of the component
  2. 'APIKEY',
  3.                                   'SHAREDSECRET',
  4.                                   'USERNAME',
  5.                                   'PASSWORD'// Retrieve the first 10 of each type
  6. 'username''zend''mygroup'// Iterate over the slide shows
  7. "Slide Show Title: {$slideshow->getTitle}<br/>\n";
  8. }

Zend_Service_SlideShare Caching policies

By default, Zend_Service_SlideShare will cache any request against the web service automatically to the filesystem (default path /tmp) for 12 hours. If you desire to change this behavior, you must provide your own Zend_Cache object using the setCacheObject() method as shown:

  1. span style="color: #ff0000;">'lifetime' => 7200,
  2.                         'automatic_serialization''cache_dir' => '/webtmp/''Core',
  3.                              'File''APIKEY',
  4.                                   'SHAREDSECRET',
  5.                                   'USERNAME',
  6.                                   'PASSWORD''username'

Changing the behavior of the HTTP Client

If for whatever reason you would like to change the behavior of the HTTP client when making the web service request, you can do so by creating your own instance of the Zend_Http_Client object (see Zend_Http). This is useful for instance when it is desirable to set the timeout for the connection to something other then default as shown:

  1. span style="color: #ff0000;">'timeout''APIKEY',
  2.                                   'SHAREDSECRET',
  3.                                   'USERNAME',
  4.                                   'PASSWORD''username'

Zend_Service_ShortUrl