media_entity_instagram.module in Media entity Instagram 3.x
Same filename and directory in other branches
The module file.
File
media_entity_instagram.moduleView source
<?php
/**
 * @file
 * The module file.
 */
use Drupal\Component\Utility\UrlHelper;
use Drupal\Core\Url;
use Drupal\media\OEmbed\Provider;
/**
 * Implements hook_oembed_resource_url_alter().
 */
function media_entity_instagram_oembed_resource_url_alter(array &$parsed_url, Provider $provider) {
  if ($provider
    ->getName() !== 'Instagram') {
    return;
  }
  $settings = \Drupal::config('media_entity_instagram.settings');
  if (empty($settings
    ->get('facebook_app_id')) || empty($settings
    ->get('facebook_app_secret'))) {
    \Drupal::messenger()
      ->addError(t('The Facebook credentials have not been configured. Please visit <a href=":form">the settings form</a> .', [
      ':form' => Url::fromRoute('media_entity_instagram.settings')
        ->toString(),
    ]));
  }
  // Get the second endpoint (GraphAPI) and use it.
  $endpoints = $provider
    ->getEndpoints();
  $endpoint = reset($endpoints);
  if (count($endpoints) > 1) {
    $endpoint = $endpoints[1];
  }
  $url = UrlHelper::parse($parsed_url['query']['url'])['path'];
  $parsed_url['query']['url'] = $url;
  $resource_url = $endpoint
    ->buildResourceUrl($parsed_url['query']['url']);
  $parsed_url['path'] = UrlHelper::parse($resource_url)['path'];
  $parsed_url['query']['access_token'] = sprintf("%s|%s", $settings
    ->get('facebook_app_id'), $settings
    ->get('facebook_app_secret'));
  $parsed_url['query']['omitscript'] = TRUE;
}Functions
| Name   | Description | 
|---|---|
| media_entity_instagram_oembed_resource_url_alter | Implements hook_oembed_resource_url_alter(). | 
