The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

PACKAGE

Web::oEmbed::Common - Define several well-known oEmbed providers.

SYNOPSIS

  my $consumer = Web::oEmbed::Common->new();
  $consumer->set_embedly_api_key( '0123ABCD0123ABCD0123ABCD' );

  my $response = $consumer->embed( $link_url );
  if ( $response ) {
    print $response->title;
    print $response->render;
  }

DESCRIPTION

Web::oEmbed::Common provides a subclass of Web::oEmbed that is pre-configured with the oEmbed API endpoints for dozens of popular web sites.

The interface mirrors that of Web::oEmbed: create an oEmbed client object and call its embed method for each URL you'd like more information about, then extract the response information using the methods defined by Web::oEmbed::Response.

Defined Providers

When you create a new instance of Web::oEmbed::Common, it is initialized with a default set of well-known providers.

Endpoints are currently defined for the following content sites: Blip.tv, DailyMotion, 5min, Flickr, FunnyOrDie.com, Hulu, PhotoBucket, PollDaddy.com, Qik, Revision3, Scribd, SmugMug, Viddler, Vimeo, WordPress.tv, YouTube.

Endpoints are also defined for the oEmbed proxy / adaptor services from Embed.ly and oohEmbed.com, each of which supports over a dozen content sites. Use of the Embed.ly service is subject to a daily rate limit, so you should consider obtaining your own API key by registering on their site.

Registering Additional Providers

You can add your own definitions using the register_provider method.

As with Web::oEmbed, each provider definition should include a api parameter with the oEmbed endpoint URL, but there are minor differences in how you specify the target URLs which that service can handle.

The provider definition's url option can contain a whitespace-separated list of multiple URL patterns to match against. These URLs can contain optional portions or alternatives in parentheses.

SEE ALSO

http://www.oembed.com/, Web::oEmbed

AUTHOR

Developed by Matthew Simon Cavalletto. You may contact the author directly at evo@cpan.org or simonm@cavalletto.org.

I found some of these oEmbed endpoint URLs defined in similar libraries in other languages, including wp-includes/class-oembed, django-oembed, and ruby-oembed.

LICENSE

Copyright 2010, 2011 Matthew Simon Cavalletto.

You may use, modify, and distribute this software under the same terms as Perl.

See http://dev.perl.org/licenses/ for more information.