«
»
FacebookWEBWEB - PHPWordPressСоциальные сети

Внедрение мгновенных статей Facebook с использованием PHP SDK

С мгновенными статьями, издатель может создавать быстрые, интерактивные статьи на Facebook. В дополнение к этому, Instant Article – отличный способ монетизировать статью.

Проблема с подачей RSS состоит в том, что для загрузки новых статей требуется время, так как от FB зависит только получение новых статей из RSS. Иногда получение новой статьи может занять много времени. В результате этого мы можем потерять наш доход.

В этой статье мы пришли к интеграции мгновенных статей Facebook с использованием PHP SDK. Используя API, мы можем автоматически отправлять мгновенные статьи в FB через нашу собственную CMS.

Требуемые учетные данные

1. Идентификатор приложения FB
2. Секрет приложения
FB 3. Идентификатор страницы FB
4. Токен доступа.

Компоненты SDK

Прежде чем мы начнем интеграцию API Instant Article API, давайте кратко рассмотрим компоненты SDK .

Элемент : Это предметно-ориентированный язык для создания структуры Instant Articles, которая строго следует спецификации и может быть автоматически сериализована в подмножество разметки HTML5, используемое в формате Instant Articles. Элемент позволяет пользователям программно создавать мгновенные статьи, которые гарантированно соответствуют формату.

Transformer : это механизм для преобразования любой разметки в структуру Instant Article в DSL. Движок запускает набор правил для разметки, который определяет выбор и преобразование элементов, выводимых CMS, в их аналоги для Instant Articles.

Клиент : это простая оболочка API Instant Articles, которую можно использовать для публикации мгновенных статей в Facebook. Клиент предоставляет интерфейс CRUD для мгновенных статей, а также помощника для аутентификации. Клиент зависит от основного Facebook SDK для PHP в качестве интерфейса для Graph API и Facebook Login.

Парсер : это механизм для преобразования любой HTML-разметки Instant Article в структуру элемента InstantArticle. Компонент Parser использует компонент Transformer под капотом.

Установка мгновенных статей Facebook PHP SDK

Мы можем использовать composer для установки PHP Instant Articles PHP SDK с помощью следующей команды:

composer require facebook/facebook‐instant‐articles‐sdk‐php

Теперь пришло время начать кодирования. 

Погнали:

<?php use FacebookInstantArticlesElementsInstantArticle; use FacebookInstantArticlesElementsHeader; use FacebookInstantArticlesElementsTime; use FacebookInstantArticlesElementsAd; use FacebookInstantArticlesElementsAnalytics; use FacebookInstantArticlesElementsAuthor; use FacebookInstantArticlesElementsImage; use FacebookInstantArticlesElementsVideo; use FacebookInstantArticlesElementsCaption; use FacebookInstantArticlesElementsFooter; use FacebookInstantArticlesTransformerTransformer; use FacebookInstantArticlesClientClient; use FacebookInstantArticlesClientHelper; use FacebookInstantArticlesValidatorsType; use FacebookFacebook; include_once('path-to-sdk/vendor/autoload.php'); $charset = 'UTF-8'; $title = 'Title of Article'; $subtitle = 'Subtitle of Article' $kicker = 'Kicker Text'; $cannonical_link = 'Link to the article in your website'; $APP_ID = 'fb-app-id'; $APP_SECRET = 'fb-app-secret'; $PAGE_ID = 'fb-page-id'; $ACCESS_TOKEN = 'page-access-token'; $is_development = false; // Use development environment? $is_published = true; $published_date = 'published_date'; $last_modified_date = 'last_modified_date'; $header = Header::create() ->withPublishTime( Time::create( Time::PUBLISHED )->withDatetime( DateTime::createFromFormat( 'j-M-Y G:i:s', date('j-M-Y G:i:s', strtotime($published_date)) )) ) ->withModifyTime( Time::create( Time::MODIFIED )->withDatetime( DateTime::createFromFormat( 'j-M-Y G:i:s', date('j-M-Y G:i:s', strtotime($last_modified_date)) )) ); // Loads the rules configuration file $rules_file_content = file_get_contents("rules-configuration.json", true); // Load html content from a file. $content = file_get_contents("sample-html.html", true); // Create a transformer object and load the rules $transformer = new Transformer(); $transformer->loadRules($rules_file_content); $document = new DOMDocument(); libxml_use_internal_errors(true); $document->loadHTML( '<?xml encoding="' . $charset . '" ?><h1>' . $title . '</h1>' ); libxml_use_internal_errors(false); $transformer->transform( $header, $document ); if($subtitle) { $header->withSubTitle ($subtitle); } if ( $kicker ) { $header->withKicker( $kicker ); } $instant_article = InstantArticle::create() ->withCanonicalUrl( $cannonical_link ) ->withHeader( $header ) ->addMetaProperty( 'op:generator:application', 'facebook-instant-articles' ) ->addMetaProperty( 'op:generator:application:version', IA_PLUGIN_VERSION ); $instant_article->withStyle( 'default' ); $transformer->transformString( $instant_article, $content, $charset ); // Instantiate an API client $client = Client::create( $APP_ID, $APP_SECRET, $ACCESS_TOKEN, $PAGE_ID, $is_development ); // Import the article try { $client->importArticle($instant_article, $is_published); } catch (Exception $e) { echo 'Could not import the article: '.$e->getMessage(); }

Надеюсь, вам понравится эта статья. В следующей статье мы напишем об удалении мгновенных статей.

Источник записи: https://thedebuggers.com

Связанные записи
WoocommerceWordPressПлагины

Дропшиппинг: Как импортировать продукты AliExpress в WooCommerce при помощи плагина DropshipMe

WoocommerceWordPressПлагины

8 лучших плагинов для WooCommerce Dropshipping для AliExpress и не только (Или дропшиппинга на WordPress)

ElementorWordPressПлагины

6 лучших плагинов для повышения конверсий на целевых страницах WordPress

FacetWPWordPressПлагины

Добавление параметров сортировки в FacetWP