ݺߣ

ݺߣShare a Scribd company logo
HTTP API
Ваш
сервер
Другой
сервер
Ваш
сервер
Не всегда вам помогут готовые плагины WordPress
api.fixer.io/latest
Миша Рудрастых: Введение в HTTP API WordPress
Миша Рудрастых: Введение в HTTP API WordPress
wp_remote_get()
$r = wp_remote_get('http://api.fixer.io/latest');
print_r( $r );
Миша Рудрастых: Введение в HTTP API WordPress
Миша Рудрастых: Введение в HTTP API WordPress
$r = wp_remote_get( 'http://api.fixer.io/latest' );
echo $r['body'];
$r = wp_remote_get( 'http://api.fixer.io/latest' );
echo wp_remote_retrieve_body( $r );
{"base":"EUR","date":"2017-10-09","rates":
{"AUD":1.5142,"BGN":1.9558,"BRL":
3.7168,"CAD":1.4731,"CHF":1.1497,"CNY":
7.7788,"CZK":25.893,"DKK":7.443,"GBP":
0.89195,"HKD":9.1685,"HRK":7.5025,"HUF":
312.32,"IDR":15897.0,"ILS":4.1206,"INR":
76.762,"JPY":132.36,"KRW":1343.1,"MXN":
21.884,"MYR":4.9709,"NOK":9.3788,"NZD":
1.6588,"PHP":60.189,"PLN":4.3077,"RON":
4.5754,"RUB":68.538,"SEK":9.5348,"SGD":
1.6013,"THB":39.214,"TRY":4.3636,"USD":
1.1746,"ZAR":16.199}}
$r = wp_remote_get( 'http://api.fixer.io/latest' );
$body = json_decode( wp_remote_retrieve_body( $r ) );
echo $body->rates->USD;
Миша Рудрастых: Введение в HTTP API WordPress
Не всегда получится
работать с API без
авторизации
Access Token
1. Отправиться на instagram.com/developer и создать
приложение
2. Используя Client ID и Client Secret и какой-нибудь
инструмент, например https://rudrastyh.com/tools/access-token,
создать Access Token
Следующий универсальный
шаг - работа с
документацией к API
https://www.instagram.com/developer/endpoints
www.instagram.com/developer/endpoints
Мы можем смело использовать любые из них, которые не
требуют scope
Мы можем смело использовать любые из них, которые не
требуют scope
Миша Рудрастых: Введение в HTTP API WordPress
Миша Рудрастых: Введение в HTTP API WordPress
$me = wp_remote_get('https://api.instagram.com/v1/users/
self/?access_token=ACCESS-TOKEN');
$body = json_decode( wp_remote_retrieve_body( $me ) );
// документация либо print_r() помогут узнать все
параметры
echo '<img src=/slideshow/http-api-wordpress/80859802/"& . $body->data->profile_picture . '" />';
$me = wp_remote_get('https://api.instagram.com/v1/users/self/?
access_token=ACCESS-TOKEN');
$body = json_decode( wp_remote_retrieve_body( $me ) );
if( wp_remote_retrieve_response_code( $me ) == 200 ):
echo '<img src=/slideshow/http-api-wordpress/80859802/"& . $body->data->profile_picture . '" />';
else:
echo 'Что-то пошло не так';
endif;
Транзиты
get_transient()
set_transient()
if( false == $img = get_transient( 'privet_meetup' ) ) {
$me = wp_remote_get('https://api.instagram.com/v1/users/self/?
access_token=ACCESS-TOKEN');
$body = json_decode( wp_remote_retrieve_body( $me ) );
$img = $body->data->profile_picture;
set_transient( 'privet_meetup', $img, 60 );
}
echo '<img src=/slideshow/http-api-wordpress/80859802/"& . $img . '" />';
wp_remote_post()
Миша Рудрастых: Введение в HTTP API WordPress
Миша Рудрастых: Введение в HTTP API WordPress
Basic Аутентификация
$api_key = 'КЛЮЧ API';
$email = 'Емайл';
$args = array(
'method' => 'PUT',
'headers' => array(
'Authorization' => 'Basic ' . base64_encode( 'user:' . $api_key )
),
'body' => json_encode( array(
'email_address' => $email,
'status' => 'subscribed'
) )
);
$response = wp_remote_post( 'https://' . substr( $api_key,strpos( $api_key,'-')+1) .
'.api.mailchimp.com/3.0/lists/ID_листа/members/' . md5( strtolower( $email ) ), $args );
$body = json_decode( wp_remote_retrieve_body( $response ) );
if ( $body->status == 'subscribed' ) {
echo 'Подписка оформлена успешно.';
}
Миша Рудрастых: Введение в HTTP API WordPress
$api_key = 'КЛЮЧ API';
$email = 'Емайл';
$args = array(
'method' => 'PUT',
'headers' => array(
'Authorization' => 'Basic ' . base64_encode( 'user:' . $api_key )
),
'body' => json_encode( array(
'email_address' => $email,
'status' => 'subscribed'
) )
);
$response = wp_remote_post( 'https://' . substr( $api_key,strpos( $api_key,'-')+1) .
'.api.mailchimp.com/3.0/lists/ID_листа/members/' . md5( strtolower( $email ) ), $args );
$body = json_decode( wp_remote_retrieve_body( $response ) );
if ( $body->status == 'subscribed' ) {
echo 'Подписка оформлена успешно.';
}
us8.api.mailchimp.com/3.0/
us10.api.mailchimp.com/3.0/
substr( $api_key,strpos( $api_key,'-')+1) . '.api.mailchimp.com/3.0/
Thanks for listening
Any questions?
vk.com/truemisha

More Related Content

Миша Рудрастых: Введение в HTTP API WordPress