Попробуйте для живой версии

Эта страница (https://blogpascher.com/blog-2/comment-utiliser-lapi-http-de-wordpress) сейчас не в сети. Однако, поскольку сайт использует технологию Cloudflare Always Online ™, вы можете продолжать просматривать снимок сайта. Мы продолжим проверку в фоновом режиме, и, как только сайт вернется, вам автоматически будет предоставлена ​​действующая версия. Always Online ™ работает на Cloudflare | Скрыть это оповещение

Пропустить

Как использовать WordPress HTTP API

Divi: самая простая тема WordPress для использования

Divi: Лучшая тема WordPress всех времен!

Более Загрузка 901.000, Divi - самая популярная тема WordPress в мире. Он является полным, простым в использовании и поставляется с более чем бесплатными шаблонами 62. [Рекомендуется]

API-интерфейсы REST-типа становятся все более популярными среди разработчиков, поскольку они являются средством связи между их приложениями и веб-службами, такими как Twitter, MailChimp или GitHub. ПрибытиеREST API WordPress доступны через плагин (но ядро ​​запланировано на декабрь), предлагает подходящую возможность изучить HTTP API, который уже существует в WordPress. В этом руководстве я расскажу вам, что такое HTTP API WordPress, и покажу, как его использовать.

HTTP API

HTTP API WordPress - это способ передачи сообщений по протоколу HTTP из приложения веб-службы или другого сайта в WordPress и наоборот. Чтобы попасть на эту страницу, ваш браузер должен отправить HTTP-запрос на серверы BlogPasCher. Они ответили, вернув ответ, содержащий то, что вы видите прямо сейчас. WordPress REST API теперь позволяет ему участвовать в такого рода системе запросов / ответов, что позволяет разделить графический интерфейс и ядро ​​платформы. Но чтобы воспользоваться этим, вам нужно научиться использовать WordPress HTTP API, который предлагает набор методов и утилит для отправки HTTP-запросов.

HTTP методы и ресурсы

Протокол HTTP сосредоточен на методах и ресурсах. Ресурсы определяют, над чем вы хотите действовать, а методы определяют, какое действие следует предпринять. На практике ресурсы - это URL-адреса объектов в Интернете (например, этой статьи). С точки зрения методов их существует ряд, наиболее важными из которых являются:

ПОЛУЧИТЬ : восстановить ресурс
POST : создать ресурс
ПОЛОЖИЛ Чтобы изменить ресурс
УДАЛИТЬ Чтобы удалить ресурс

Пример запроса с HTTP API

Для начала давайте посмотрим, как отправить простой запрос с помощью HTTP API. Мы будем использовать функцию wp_remote_get для запроса сервера Google и получения домашней страницы. Эта функция принимает два параметра, первый из которых - ресурс, а второй - список опций для указания деталей. Без лишних слов, давайте действовать.

$ test = wp_remote_get ('http://google.com'); эхо " "; 
var_dump ($ test); 
эхо " ";

возвращение wp_remote_get содержится в переменной $ тест, и представляет собой содержание домашней страницы, которую Google вернул по нашему запросу. Линия var_dump ($ тест); позволяет видеть элементы, возвращенные в ответе.

раздел Заголовки содержит дополнительную информацию о сообщениях. Некоторым API REST потребуется отправлять конкретную информацию в запросах, адресованных им.

раздел ответ содержит код состояния и описание ответа. Возможно, вы слышали об ошибке 404 для страниц, которые не найдены, об ошибках сервера 501 или переадресации 301 и 302. Эти числа являются кодами ошибок. На сайте W3.org есть список всех Коды ошибок HTTP и их описание.

Легко создайте свой сайт с Elementor

Elementor позволяет легко создать любой дизайн сайта с профессиональным дизайном. Прекратите платить дорого за то, что вы можете сделать сами. [Free]

раздел тело содержит фактический ответ, и именно здесь вам нужно будет посмотреть, когда все будет хорошо. В этом примере мы получаем HTML-код домашней страницы Google. REST API очень часто возвращают ответы в формате JSON. Некоторые API-интерфейсы, как мы увидим, потребуют от вас включения строки в основной раздел вашего запроса.

раздел печенье будет содержать все куки, полученные с сообщением.

Как видите, отправлять запросы с помощью HTTP API WordPress не сложно. С другой стороны, что может быть трудным с REST API, так это то, что они придирчивы к деталям отправляемой информации, что хорошо для единообразия. Так что будьте внимательны, читая документацию по API, которые вы используете.

Запрос API-интерфейсы

Понятно, что большинство из вас будет использовать HTTP API для взаимодействия с REST API. Поэтому вам придется использовать второй параметр функции wp_remote_get чтобы прояснить определенное количество вещей, аутентифицировать вас, уточнить ваши результаты и т. д. Начнем с простого примера, такого как получение пинов со стены Pinterest. Любой уважающий себя API требует аутентификации, но мы обойдем ее здесь. генерирование токена доступа (токен доступа). Код !

$ request = wp_remote_get ('https://api.pinterest.com/v1/boards/ / домашний офис / контакты /? access_token = '); $ pins = json_decode ($ request ['body'], истина); if (! empty ($ pins ['data'])) {echo ' '; foreach ($ pins ['data'] как $ pin) {echo ' '. $ pin ['примечание']. ' '; } эхо ' '; }

Обязательно замените в первой строкелогин-доска> по идентификатору стены Pinterest и  по токену доступа, который вы создали сами. Ответ находится в формате JSON, поэтому вторая строка его декодирует. Штифты содержатся в $ pins ['данные']Итак, мы проходим через это и помещаем булавки в список. Вы можете вставить этот код в файл шаблона вашей темы и увидеть результат.

Аутентификация

В этой части возьмем в качестве примера аутентификацию Twitter REST API.

Когда вы начинаете с API, очень важно внимательно прочитать и понять документацию. Аутентификация - одна из тех вещей, с которыми часто сталкиваются разработчики. Одна из причин - неправильное прочтение документации. Если вы привыкли работать с REST API, то можете сразу перейти к разделу идентификация, В случае с Twitter легко пропустить строку документации, в которой говорится, что вы должны включить в раздел body своего запроса строку символов. grant_type = client_credentials. Если его не включить, это приведет к полному сбою, даже если все остальное в вашем коде в порядке. Всегда убедитесь, что вы прочитали и поняли документацию. Сделав это для Twitter, вы сможете создать такой запрос POST, который генерирует токен доступа:

$ key = base64_encode (urlencode ("PKI865f6uvGZA6xvFTtb8IAA: i4pmOV0duXJEgty95Ghth89dh5wDIqfJOovKjs92ei878")); $ request = wp_remote_post ('https://api.twitter.com/oauth2/token', array ('headers' => array ('Authorization' => 'Basic'. $ key, 'Content-Type' => '). application / x-www-form-urlencoded; charset = UTF-8 '),' body '=>' grant_type = client_credentials ',' httpversion '=>' 1.1 ')); $ token = json_decode ($ request ['body']); эхо " "; var_dump ($ token); echo" ";

Первым делом нужно закодировать токен доступа и секретную строку (те, которые вы видите, недействительны). Затем сформулируйте сам запрос. Вы можете видеть, что здесь, согласно рекомендациям Twitter, мы добавили два заголовка Авторизация et Content-Type, мы включили в цепь grant_type = client_credentials et httpversion. Без всего этого мы не смогли бы сгенерировать необходимый токен доступа для будущих запросов к Twitter API. Результат:

сор-HTTP-апи-твиттер-маркер

Теперь, когда у вас есть токен доступа, рекомендуется кэшировать его, поскольку он действителен в течение длительного времени, и получение его из REST API Twitter для каждого запроса не принесет никакой пользы вашему бизнесу. закодировано. Понятие переходных процессов хорошо соответствует этому сценарию, давайте реализуем его.

$ токен = get_transient ('twitter_access_token'); $ токен = (пустой ($ токен))? get_twitter_access_token (): токен $; $ request = wp_remote_get ('https://api.twitter.com/1.1/followers/ids.json?screen_name= & count = 5 ', array (' headers '=> array (' Authorization '=>' Bearer '. $ token,' Content-Type '=>' application / x-www-form-urlencoded; charset = UTF-8 ' ), 'httpversion' => '1.1')); $ token = json_decode ($ request ['body']);

Этот запрос должен получить 5 от ваших подписчиков, если вы замените по вашему имени пользователя Twitter. В этом коде мы получаем токен доступа из переходного процесса. Если последнего нет, воспользуемся функцией get_twitter_access_token (который вы можете спроектировать из нашего предыдущего примера). Обратите внимание, что эта функция должна будет добавить токен доступа в переходный процесс.

Служебные функции WordPress HTTP API

Есть 4 функции, которые позволяют выполнять запросы. Это wp_remote_get, wp_remote_post, wp_remote_head, wp_remote_request. Последний является обобщенным, то есть вы можете использовать его с любым методом HTTP.

Также есть 5 функций для получения части ответа. Это wp_retrieve_body, wp_retrieve_header, wp_retrieve_headers, wp_retrieve_response_code, wp_retrieve_response_message.

Максимально используйте функции HTTP API при работе с ним, чтобы другие разработчики могли легко понять ваш код.

Разработка в WordPress решительно движется в сторону подхода, основанного на API. Чтобы оставаться в ванне, сейчас подходящее время для вас, чтобы узнать, как использовать различные API WordPress.

Вы уже используете WordPress API? Почему и как ты это делаешь? Есть ли у вас какие-либо советы, чтобы сделать их еще проще? Поделитесь с нами в разделе комментариев.

 

Эта статья содержит комментарии 0

Оставить комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

Этот сайт использует Akismet для уменьшения нежелательности. Узнайте больше о том, как используются ваши комментарии.

Вверх
2 акции
доля2
чирикать
Регистрация