Giter VIP home page Giter VIP logo

Comments (3)

mpratt avatar mpratt commented on June 2, 2024

Hi @tomaszkane !

You are right, Embera doesnt return the video_id, but that is because youtube does not do it either. Check this request for example https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=J---aiyznGQ&format=json

However you can use filters and fetch the video_id and return it in the response if you really need it.

$embera = new Embera(...........);
$embera->addFilter(function ($response) {
    if (strtolower($response['embera_provider_name']) == 'youtube' && preg_match('~/embed/(.+)\?feature=oembed~', $response['html'], $matches)) {
        $response['video_id'] = $matches['1'];
    }
    return $response;
});

var_dump($embera->getUrlData('https://www.youtube.com/watch?v=J---aiyznGQ'));

Something like that should work.
The code is untested but you get the idea...

Let me know if that helps..

from embera.

tomaszkane avatar tomaszkane commented on June 2, 2024

Hi,
yes I know, YT don't return video_id. But why Embera not adding this information to (new Embera())->getUrlData($videoUrl); by own / automatically? ID always must be present in given URI, so add it to results from getUrlData() ?

BTW, thanks for simpler solution for get this is (filter instead of long regexp).

from embera.

mpratt avatar mpratt commented on June 2, 2024

Hi @tomaszkane !
I am glad the filter option worked for you!

In regards to adding the video_id into the Embera response for Youtube, I dont think I will add it. I want to respect the endpoint response as much as possible, only on a few providers I modify the html response, but I mostly want to leave the response as close as possible to the original.

Perhaps if many users ask for this functionality to be added, I'll consider doing it, but for now, I think with filters you have the option to get the info you need for your usecase. Filters are very versatile since it allows access to the raw response.

from embera.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.