AtiX / oembed-parser

Extract oEmbed data from given webpage

Home Page:https://ndaidong.github.io/oembed-parser-demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

oembed-parser

Extract eEmbed content from given URL.

NPM CI test Coverage Status Quality Gate Status

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)

About

Extract oEmbed data from given webpage

https://ndaidong.github.io/oembed-parser-demo

License:MIT License


Languages

Language:JavaScript 100.0%