oembed-parser
Extract eEmbed content from given URL.
Important note:
Demo
Installation
npm install oembed-parser
Usage
import {
extract,
} from 'oembed-parser';
const url = 'https://www.youtube.com/watch?v=8jPQjjsBbIc';
extract(url).then((oembed) => {
console.log(oembed);
}).catch((err) => {
console.trace(err);
});
APIs
.extract(String url [, Object params])
Extract oEmbed data from specified url. Return: a Promise
Optional argument params
is an object with it we can set maxwidth
and/or maxheight
those are used to scale embed size to fit your container size. Please refer oEmbed/Full Spec/Consumer Request for more info.
Here is how we can use oembed-parser
in async/await style:
import {
extract
} from 'oembed-parser';
const getOembed = async (url) => {
try {
const oembed = await extract(url);
return oembed;
} catch (err) {
console.trace(err);
}
};
.hasProvider(String URL)
Return boolean. True if the URL matches with any provider in the list.
.setProviderList(Array of provider definitions)
Sets the list of providers to use, overriding the defaults.
This can be useful for whitelisting only certain providers, or for adding custom providers.
For the expected format, see the default list.
Provider list
List of resource providers is a clone of oembed.com and available here.
Changes with Instagram
Since October 24 2020, Facebook have deprecated their legacy urls and applied a new Facebook oEmbed endpoints. Please update your oembed-parser
version to v1.4.2 to be able to extract Instagram links.
Technically, now we have to use Facebook Graph API, with the access token from a valid and live Facebook app. By default, oembed-parser
build Graph API endpoint using a pre-existing access token. Althrough it should work in almost cases. However, we recommend to add your own ones.
export FACEBOOK_APP_ID=your_app_id
export FACEBOOK_CLIENT_TOKEN=your_client_token
For more info, please refer:
Test
git clone https://github.com/ndaidong/oembed-parser.git
cd oembed-parser
npm install
npm test
# quick evaluation
npm run eval {URL_TO_PARSE_OEMBED}
License
The MIT License (MIT)