본문 바로가기
To Know

Welcome to oohEmbed!

by o테리o 2011. 4. 26.

Welcome to oohEmbed!

oohEmbed What?

In a nutshell: oohEmbed is an oEmbed compatible provider of HTML embed codes for various web sites.

What is this oEmbed? From oembed.com:

oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to display embedded content (such as photos or videos) when a user posts a link to that resource, without having to parse the resource directly.

Don't get it? Perhaps an example will make things clear. If you make a URL request like this:

http://oohembed.com/oohembed/?url=http%3A//www.amazon.com/Myths-Innovation-Scott-Berkun/dp/0596527055/

You will get this as the response:

{
     "type": "photo", 
     "version": "1.0", 
     "provider_name": "Amazon Product Image", 
     "url": "http://ecx.images-amazon.com/images/I/31%2BfVjL2nqL.jpg", 
     "height": "500", 
     "width": "317", 
     "thumbnail_url": "http://ecx.images-amazon.com/images/I/31%2BfVjL2nqL._SL75_.jpg", 
     "thumbnail_height": "75", 
     "thumbnail_width": "48", 
     "asin": "0596527055", 
     "title": "The Myths of Innovation", 
     "author_name": "Scott Berkun", 
     "author_url": "http://www.amazon.com/gp/redirect.html%3FASIN=0596527055%26location=/Myths-Innovation-Scott-Berkun/dp/0596527055"
}

There, that should make everything clear. Still no? Then perhaps you should go and read this excellent article introducing oEmbed & oohEmbed by Ciaran McNulty. Once you are done reading that, come back here for our Q&A!

Q & A

  1. How is this useful?
    I built oohEmbed to further development of Dumble, my delicious.com tumblelog. But I imagine oohEmbed could be useful in several other places. For example, someone could build a blog engine plugin backed by the oohEmbed web service that makes embedding content into blog posts easier. (If you do build such a plugin, let me know!)

    Scroll down to see a list of consumer sites and apps that use oohEmbed.

  2. So what sites can oohEmbed provide information for?
    Quite a few to start with - scroll down to see the list. I'll be adding more sites as I find time!

  3. Is oohEmbed really oembed.com spec compliant?
    Almost. oohEmbed differs in some ways from the spec.

    • It usually ignores the maxwidth/maxheight request parameters.
    • Only JSON responses are provided. I don't have any plans of supporting XML.
    • You can specify a JSON callback.
  4. JSON Callback?
    To overcome the same origin policy of web browsers, you can specify a callback parameter as part of your request. e.g., if you specify callback=myCallback as part of the request, then the JSON response object will be wrapped as a parameter to the myCallback function.

  5. Will this callback expose my site to cross-site attacks?
    Possibly. Although you have to trust that I won't be doing anything funny or malicious intentionally, oohEmbed itself is just a proxy to the target website. So if the target website sends back something bad, all bets are off!

  6. So I can't sue you if anything goes wrong?
    No! By using this service, you agree that I will not be held liable for anything that goes wrong. I do appreciate bug reports though.

  7. Is it free to use?
    Yes. At the moment, all this service costs me is $10/year for the domain name and several hours of my free time. Google App Engine kindly hosts the app for free (thanks!) so that's taken care of.

  8. But is it really free?
    Oh yes, it is really free too! You can get access to the code that powers oohEmbed.com from the oohEmbed project on Google Code. The code is available under a liberal BSD license so feel free to use it as you wish. Of course, I'd appreciate any code contributions too!

  9. So I can use the site as much as I want?
    Yes, but to a limit. If I detect abuse, I reserve the right to throttle your use or worse, ban you from accessing the service.

  10. Great, how do I sign-up?!
    Umm.. there is no sign-up. Here's your service, run with it: http://oohembed.com/oohembed/?url=

  11. I'm all fired up. Where's the oEmbed provider configuration for the oohEmbed service to get me going?
    Just scroll down this page for the API endpoint and supported URL schemes.

  12. I notice that you also support websites which already have an oEmbed compliant provider. Why?
    Two reasons:

    • They don't support the 'callback' parameter for JSON requests
    • As a developer, wouldn't it be nice if there was just one API endpoint for all sites instead of having to support one endpoint for each?
  13. I represent one of the sites for which oohEmbed provides responses and I don't like it.
    Fair enough. Drop me an email and I'll stop supporting your site.

  14. I would rather not bounce my requests through oohEmbed. Can I just get your list of oEmbed compliant providers instead? You are in luck! The list of all oEmbed compliant endpoints that oohEmbed knows about can be downloaded as a JSON file.

  15. How do I report bugs? Do you take feature requests?
    Sure. Please report bugs & enhancement requests using the issue tracker on Google Code.

  16. Anything else?
    Nothing, except that oohEmbed wouldn't be possible without the folks behind the oEmbed.com spec so kudos to them. And thanks again to Google for creating App Engine!

  17. Who are you?
    I am Deepak Sarda and you can find me here.

Configuration

There's just one API endpoint: http://oohembed.com/oohembed/. The supported URL schemes are listed below. If you call the API endpoint with a URL that doesn't confirm to one of the schemes listed below, you will get a 404 response. As mentioned earlier, you can use a callback parameter when calling the endpoint.

Click on any item in the list below to see configuration details for that item.

  1. 5min.com
  2. Amazon Product Image
  3. blip.tv
  4. Clikthrough
  5. CollegeHumor Video
  6. Daily Show with Jon Stewart
  7. Dailymotion
  8. dotSUB.com
  9. Flickr Photos
  10. Funny or Die Video
  11. Google Video
  12. Hulu
  13. Kinomap
  14. LiveJournal UserPic
  15. Metacafe
  16. National Film Board of Canada
  17. Phodroid Photos
  18. Photobucket
  19. Qik Video
  20. Revision3
  21. Scribd
  22. SlideShare
  23. TwitPic
  24. Twitter Status
  25. Viddler Video
  26. Vimeo
  27. Wikipedia
  28. Wordpress.com
  29. XKCD Comic
  30. YFrog
  31. YouTube

Consumers

These consumers currently use the oohEmbed service.

  • Dumble of course, being the first consumer and my reason for creating oohEmbed.
  • 280 Slides, a snazzy web-app to create presentations.
  • Buckybase, a social web database with bidirectional hyperlinks.
  • Indy.com, a local entertainment site by The Indianapolis Star.
  • Ars Technica, a technology news and analysis site.
  • DropAVideo, a Brazilian video micro-blogging service.
  • Zenbe Shareflow, a team collaboration service.
  • Hostelz.com, a hostel review site.
  • StatusNet, a popular open-source microblogging platform.

Moreover, oohEmbed support is already baked into these libraries:

If you are using oohEmbed, please leave a comment below and I'll add you to this list!

Consumers may also be interested in downloading the list of oEmbed compliant endpoints that oohEmbed knows about and use this information to make direct requests to the respective endpoints.