Support for Facebook/Instagram API (2022), switch to embed/embed v4

Created on 31 March 2022, over 2 years ago
Updated 20 March 2023, almost 2 years ago

Problem/Motivation

A first attempt was made via #3177860: Support for Facebook/Instagram API changes - add access token settings β†’ to support Facebook and Instagram's API changes.
Since that thread started, Facebook deprecated things again (https://developers.facebook.com/docs/plugins/oembed is now legacy).
Using patch #25 from that issue allows some limited success but at least some Facebook endpoints are no longer supported by embed/embed:^3.4

Steps to reproduce

Try to embed a Facebook Page or an Instagram Guide URL.

Proposed resolution

  1. Port patch #25 from #3177860: Support for Facebook/Instagram API changes - add access token settings β†’
  2. Update embed/embed dependency to a newer version
  3. Update url_embed codes to be compatible with embed/embed's newer version

Remaining tasks

Review

πŸ“Œ Task
Status

Fixed

Version

2.0

Component

Code

Created by

πŸ‡¨πŸ‡­Switzerland stefanos.petrakis@gmail.com Biel, Switzerland

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • Hi I'm having trouble installing the patch, i have D9.4.8, "drupal/embed": "^1.6",
    "drupal/social_auth_facebook": "3.0",
    "drupal/url_embed": "1.x-dev@dev",
    "embed/embed": "^3.4"
    - I can't upgrade to version 4

    PS C:\xampp\htdocs\UrlDrupal\modules\contrib\url_embed> git apply -v 3272702-upgrade-embedembed-dependency.patch
    3272702-upgrade-embedembed-dependency.patch:263: trailing whitespace.
    ]);
    Checking patch composer.json...
    Checking patch config/schema/url_embed.schema.yml...
    error: config/schema/url_embed.schema.yml: already exists in working directory
    Checking patch src/Form/UrlEmbedAdminSettingsForm.php...
    error: src/Form/UrlEmbedAdminSettingsForm.php: already exists in working directory
    Checking patch src/Form/UrlEmbedDialog.php...
    Checking patch src/Plugin/Field/FieldFormatter/LinkEmbedFormatter.php...
    Checking patch src/Plugin/Filter/UrlEmbedFilter.php...
    Checking patch src/UrlEmbed.php...
    error: while searching for:
    <?php

    /**
    * @file
    * Contains Drupal\url_embed\UrlEmbed.
    */

  • πŸ‡¨πŸ‡­Switzerland berdir Switzerland

    You can't patch composer dependenices, you need to update to 2.x.

  • Try install the 2.x but impossible and try embed 4.4 but canΒ΄t :/
    Can yours tell me, how can create a new project that works in URL for (Facebook) for example:
    Drupal version:
    Embed version:
    URL embed version:
    and patch:
    thanks so much

    ----------------------------------------
    PS C:\xampp\htdocs\UrlDrupal> composer require 'drupal/url_embed:2.x-dev@dev'
    ./composer.json has been updated
    Running composer update drupal/url_embed
    Loading composer repositories with package information
    Updating dependencies
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    - drupal/url_embed dev-2.x requires embed/embed ^4.4 -> found embed/embed[v4.4.0, ..., v4.4.7] but it conflicts with your root composer.json require (^3.4).
    - drupal/url_embed 2.x-dev is an alias of drupal/url_embed dev-2.x and thus requires it to be installed too.
    - Root composer.json requires drupal/url_embed 2.x-dev@dev -> satisfiable by drupal/url_embed[2.x-dev (alias of dev-2.x)].

    Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

    Installation failed, reverting ./composer.json and ./composer.lock to their original content.

    ----------------------------------------------------
    PS C:\xampp\htdocs\UrlDrupal> composer require 'drupal/embed:^4.4'
    The "4.4" constraint for "drupal/embed" appears too strict and will likely not match what you want. See https://getcomposer.org/constraints
    ./composer.json has been updated
    Running composer update drupal/embed
    Loading composer repositories with package information
    Updating dependencies
    Info from https://repo.packagist.org: #StandWithUkraine
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    - Root composer.json requires drupal/embed 4.4, found drupal/embed[dev-1.x, 1.0.0-rc1, ..., 1.x-dev (alias of dev-1.x)] but it does not match the constraint.
    Problem 2
    - drupal/url_embed dev-1.x requires drupal/embed ^1.4 -> found drupal/embed[1.4.0, 1.5.0, 1.6.0] but it conflicts with your root composer.json require (4.4).
    - drupal/url_embed 1.x-dev is an alias of drupal/url_embed dev-1.x and thus requires it to be installed too.
    - Root composer.json requires drupal/url_embed 1.x-dev@dev -> satisfiable by drupal/url_embed[1.x-dev (alias of dev-1.x)].

    Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

  • πŸ‡¨πŸ‡­Switzerland berdir Switzerland

    You are mixing up drupal/url_embed, which is this module, drupal/embed, the drupal module dependency and embed/embed, which is the external dependency that you have a conflict on.

    You don't want t explicitly depend on embed/embed. Remove that from your composer.json and then repeat the first command with -W.

  • Thnks :), yes could install 2.x, now add pach? #6 3272702-upgrade-embedembed-dependency.patch ??
    and what add more?

    -------------
    PS C:\xampp\htdocs\UrlDrupal> composer require -W 'drupal/url_embed:2.x-dev@dev'
    ./composer.json has been updated
    Running composer update drupal/url_embed --with-all-dependencies
    Loading composer repositories with package information
    Updating dependencies
    Nothing to modify in lock file
    Installing dependencies from lock file (including require-dev)
    Nothing to install, update or remove
    Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
    Package symfony/debug is abandoned, you should avoid using it. Use symfony/error-handler instead.
    Generating autoload files
    Hardening vendor directory with .htaccess and web.config files.
    44 packages you are using are looking for funding.
    Use the `composer fund` command to find out more!
    Cleaning installed packages.
    No security vulnerability advisories found
    PS C:\xampp\htdocs\UrlDrupal>

  • I cant install of the parch
    ----------------------------------------
    PS C:\xampp\htdocs\UrlDrupal\modules\contrib\url_embed> git apply -v 3272702-upgrade-embedembed-dependency.patch
    3272702-upgrade-embedembed-dependency.patch:263: trailing whitespace.
    ]);
    Checking patch composer.json...
    error: while searching for:
    },
    "license": "GPL-2.0+",
    "require": {
    "embed/embed": "^3.4",
    "drupal/embed": "^1.4"
    }
    }

    error: patch failed: composer.json:9
    error: composer.json: patch does not apply
    Checking patch config/schema/url_embed.schema.yml...
    error: config/schema/url_embed.schema.yml: already exists in working directory
    Checking patch src/Form/UrlEmbedAdminSettingsForm.php...
    error: src/Form/UrlEmbedAdminSettingsForm.php: already exists in working directory
    Checking patch src/Form/UrlEmbedDialog.php...
    error: while searching for:

    -----------------------
    "require": {
    "composer/installers": "^1.9",
    "drupal/ckeditor_iframe": "2.1",
    "drupal/core-composer-scaffold": "^9.4",
    "drupal/core-project-message": "^9.4",
    "drupal/core-recommended": "^9.4",
    "drupal/core-vendor-hardening": "^9.4",
    "drupal/social_auth_facebook": "3.0",
    "drupal/url_embed": "2.x-dev@dev"
    },

  • πŸ‡¨πŸ‡­Switzerland berdir Switzerland

    You don't need a patch, this is released and part of 2.0.0-alpha1.

  • Clear the caches, try to add a public url and still do not show the url Embedded only keeps showing twitter

    For example i have a public link :https://www.facebook.com/Selena/photos/a.116551875974/10159179397705975/

  • Hello, I still have the same problem, I have attached the installation of the module so that you can tell me please what I am doing wrong
    Thanks.

Production build 0.71.5 2024