I am trying to find out all the oEmbed providers out there. I went to the oEmbed spec site and they have a few, but I found out a few other that weren't specified, like 5min video:
Provider: 5min
URL scheme: http://www.5min.com/video/*
API Endpoint: http://api.5min.com/oembed.{format}
Docs: http://www.5min.com/APIDocs/Embed.aspx
开发者_如何学CNothing better than to ask the developer community in StackOverflow.
Embedly looks to have a good collection: http://api.embed.ly/
The oohembed.com domain was recently aquired by Embed.ly, but the code is still open source, and the endpoints json can still be found here: http://code.google.com/p/oohembed/source/browse/app/provider/endpoints.json
It seems like embed.ly does no longer provide a public list of oembed providers. Therefore I'm currently in the process of compiling my own: https://github.com/panzi/OembedEndpoints I added some providers already, but next I'll look through the services supported by embed.ly and add all that actually have a oembed endpoint (and aren't just wrapped by embed.ly).
http://noembed.com/providers
[{
"patterns": ["http://(?:www\\.)?xkcd\\.com/\\d+/?"],
"name": "XKCD"
}, {
"patterns": ["https?://soundcloud.com/.*/.*"],
"name": "SoundCloud"
}, {
"patterns": ["http://(?:www\\.)?flickr\\.com/.*"],
"name": "Flickr"
}, {
"patterns": ["http://www\\.ted\\.com/talks/.+\\.html"],
"name": "TED"
}, {
"patterns": ["http://(?:www\\.)?theverge\\.com/\\d{4}/\\d{1,2}/\\d{1,2}/\\d+/[^/]+/?$"],
"name": "The Verge"
}, {
"patterns": ["http://.*\\.viddler\\.com/.*"],
"name": "Viddler"
}, {
"patterns": ["https?://(?:www\\.)?wired\\.com/[^/]+/\\d+/\\d+/[^/]+/?$"],
"name": "Wired"
}, {
"patterns": ["http://www\\.theonion\\.com/articles/[^/]+/?"],
"name": "The Onion"
}, {
"patterns": ["http://yfrog\\.com/[0-9a-zA-Z]+/?$"],
"name": "YFrog"
}, {
"patterns": ["https?://(?:www.)?skitch.com/([^/]+)/[^/]+/.+", "http://skit.ch/[^/]+"],
"name": "Skitch"
}, {
"patterns": ["https?://(alpha|posts|photos)\\.app\\.net/.*"],
"name": "ADN"
}, {
"patterns": ["https?://gist\\.github\\.com/(?:[-0-9a-zA-Z]+/)?([0-9a-fA-f]+)"],
"name": "Gist"
}, {
"patterns": ["https?://www\\.(dropbox\\.com/s/.+\\.(?:jpg|png|gif))", "https?://db\\.tt/[a-zA-Z0-9]+"],
"name": "Dropbox"
}, {
"patterns": ["https?://[^\\.]+\\.wikipedia\\.org/wiki/(?!Talk:)[^#]+(?:#(.+))?"],
"name": "Wikipedia"
}, {
"patterns": ["http://www.traileraddict.com/trailer/[^/]+/trailer"],
"name": "TrailerAddict"
}, {
"patterns": ["http://lockerz\\.com/[sd]/\\d+"],
"name": "Lockerz"
}, {
"patterns": ["http://trailers\\.apple\\.com/trailers/[^/]+/[^/]+"],
"name": "iTunes Movie Trailers"
}, {
"patterns": ["http://bash\\.org/\\?(\\d+)"],
"name": "Bash.org"
}, {
"patterns": ["http://arstechnica\\.com/[^/]+/\\d+/\\d+/[^/]+/?$"],
"name": "Ars Technica"
}, {
"patterns": ["http://imgur\\.com/gallery/[0-9a-zA-Z]+"],
"name": "Imgur"
}, {
"patterns": ["http://www\\.asciiartfarts\\.com/[0-9]+\\.html"],
"name": "ASCII Art Farts"
}, {
"patterns": ["http://www\\.monoprice\\.com/products/product\\.asp\\?.*p_id=\\d+"],
"name": "Monoprice"
}, {
"patterns": ["https?://(?:[^\\.]+\\.)?youtube\\.com/watch/?\\?(?:.+&)?v=([^&]+)", "https?://youtu\\.be/([a-zA-Z0-9_-]+)"],
"name": "YouTube"
}, {
"patterns": ["https?://github\\.com/([^/]+)/([^/]+)/commit/(.+)", "http://git\\.io/[_0-9a-zA-Z]+"],
"name": "Github Commit"
}, {
"patterns": ["https?://open\\.spotify\\.com/(track|album)/([0-9a-zA-Z]{22})"],
"name": "Spotify"
}, {
"patterns": ["https?://path\\.com/p/([0-9a-zA-Z]+)$"],
"name": "Path"
}, {
"patterns": ["http://www.funnyordie.com/videos/[^/]+/.+"],
"name": "Funny or Die"
}, {
"patterns": ["http://(?:www\\.)?twitpic\\.com/([^/]+)"],
"name": "Twitpic"
}, {
"patterns": ["https?://www\\.giantbomb\\.com/videos/[^/]+/\\d+-\\d+/?"],
"name": "GiantBomb"
}, {
"patterns": ["http://(?:www\\.)?beeradvocate\\.com/beer/profile/\\d+/\\d+"],
"name": "Beer Advocate"
}, {
"patterns": ["http://(?:www\\.)?imdb.com/title/(tt\\d+)"],
"name": "IMDB"
}, {
"patterns": ["http://cl\\.ly/(?:image/)?[0-9a-zA-Z]+/?$"],
"name": "CloudApp"
}, {
"patterns": ["http://www\\.hulu\\.com/watch/.*"],
"name": "Hulu"
}, {
"patterns": ["https?://(?:www\\.)?twitter\\.com/(?:#!/)?[^/]+/status(?:es)?/(\\d+)/?$", "http://t\\.co/[a-zA-Z0-9]+"],
"name": "Twitter"
}, {
"patterns": ["https?://(?:www\\.)?vimeo\\.com/.+"],
"name": "Vimeo"
}, {
"patterns": ["http://www\\.amazon\\.com/(?:.+/)?[gd]p/(?:product/)?(?:tags-on-product/)?([a-zA-Z0-9]+)", "http://amzn\\.com/([^/]+)"],
"name": "Amazon"
}, {
"patterns": ["http://qik\\.com/video/.*"],
"name": "Qik"
}, {
"patterns": ["http://www\\.rdio\\.com/#/artist/[^/]+/album/[^/]+/?", "http://www\\.rdio\\.com/#/artist/[^/]+/album/[^/]+/track/[^/]+/?", "http://www\\.rdio\\.com/#/people/[^/]+/playlists/\\d+/[^/]+"],
"name": "Rdio"
}, {
"patterns": ["http://www\\.slideshare\\.net/.*/.*"],
"name": "SlideShare"
}, {
"patterns": ["http://imgur\\.com/([0-9a-zA-Z]+)$"],
"name": "Imgur"
}, {
"patterns": ["https?://instagr(?:\\.am|am\\.com)/p/.+"],
"name": "Instagram"
}, {
"patterns": ["http://www\\.twitlonger\\.com/show/[a-zA-Z0-9]+", "http://tl\\.gd/[^/]+"],
"name": "Twitlonger"
}, {
"patterns": ["https?://vine.co/v/[a-zA-Z0-9]+"],
"name": "Vine"
}, {
"patterns": ["http://www\\.urbandictionary\\.com/define\\.php\\?term=.+"],
"name": "Urban Dictionary"
}, {
"patterns": ["http://picplz\\.com/user/[^/]+/pic/[^/]+"],
"name": "Picplz"
}, {
"patterns": ["https?://(?:www\\.)?twitter\\.com/(?:#!/)?[^/]+/status(?:es)?/(\\d+)/photo/\\d+(?:/large|/)?$", "https?://pic\\.twitter\\.com/.+"],
"name": "Twitter"
}]
Embed.ly wraps a lot of sites' APIs in the oEmbed standards. Not all of those sites support OEmbed.
http://oembed.com lists some providers and provides a link to a more comprehensive list: http://oembed.com/providers.json
This project is worth noting: https://github.com/itteco/iframely. It's modern, maintained and has a SaaS-hosted API option via https://iframely.com.
embedo does that, its lightweight and easy api. You can try it for your case https://shobhitsharma.github.io/embedo
精彩评论