Intereting Posts
Разница между $ _SERVER и $ _SERVER Условно заданные цены на товары для определенных продуктов в WooCommerce 3 file_get_contents возвращает пустую строку Html / php-страница кэшируется (клиентская сторона), когда она не должна быть проверка типов ввода «флажок» и «число» php / html Плохой запрос. Подключение к сайтам через завиток на хосте и системе Laravel – как передать параметр маршруту? Есть ли более эффективная практика? php form – отправить заявку на ту же страницу Оптимизация foreach для тысяч предметов Лучший способ хранения JSON в атрибуте HTML? API поиска изображений Google Почему, если я зарегистрировался на своем веб-сайте как зарегистрированный пользователь, я не могу получить доступ к другим страницам после установки правил сеанса? Избегайте / удалять веб-промежуточное ПО в маршрутах для Laravel> = 5.2.31 Как отправить электронную почту с арабским контентом через почтовую функцию PHP? Nginx переписать не работает с расширением .php

Получить все фотографии из Instagram, которые имеют определенный хэштегов с PHP

Мне нужно получить некоторые фотографии, которые имеют конкретный хэштег, используя PHP? Любая помощь будет потрясающей или намеком?

Существует секция тегов общедоступных API instagram, которая может помочь вам в этом. http://instagram.com/developer/endpoints/tags/

Вот еще один пример, который я написал некоторое время назад:

<?php // Get class for Instagram // More examples here: https://github.com/cosenary/Instagram-PHP-API require_once 'instagram.class.php'; // Initialize class with client_id // Register at http://instagram.com/developer/ and replace client_id with your own $instagram = new Instagram('CLIENT_ID_HERE'); // Set keyword for #hashtag $tag = 'KEYWORD HERE'; // Get latest photos according to #hashtag keyword $media = $instagram->getTagMedia($tag); // Set number of photos to show $limit = 5; // Set height and width for photos $size = '100'; // Show results // Using for loop will cause error if there are less photos than the limit foreach(array_slice($media->data, 0, $limit) as $data) { // Show photo echo '<p><img src="'.$data->images->thumbnail->url.'" height="'.$size.'" width="'.$size.'" alt="SOME TEXT HERE"></p>'; } ?> 

Если вам нужно только отобразить базу изображений на теге, тогда не следует включать класс-оболочку «instagram.class.php». Поскольку конечные точки Media & Tag в API Instagram не требуют аутентификации. Вы можете использовать следующую функцию curl для получения результатов на основе вашего тега.

  function callInstagram($url) { $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => 2 )); $result = curl_exec($ch); curl_close($ch); return $result; } $tag = 'YOUR_TAG_HERE'; $client_id = "YOUR_CLIENT_ID"; $url = 'https://api.instagram.com/v1/tags/'.$tag.'/media/recent?client_id='.$client_id; $inst_stream = callInstagram($url); $results = json_decode($inst_stream, true); //Now parse through the $results array to display your results... foreach($results['data'] as $item){ $image_link = $item['images']['low_resolution']['url']; echo '<img src="'.$image_link.'" />'; } 

С 17 ноября 2015 года вы должны аутентифицировать пользователей, чтобы сделать какие-либо (даже такие, как «получить некоторые фотографии с конкретными хэштегами»). См. Список изменений платформы Instagram :

Приложения, созданные после или после 17 ноября 2015 г.: для всех конечных точек API требуется действительный access_token. Приложения, созданные до 17 ноября 2015 года: не затронуты новым поведением API до 1 июня 2016 года.

это делает теперь все ответы, приведенные здесь до 1 июня 2016 года, уже не полезны.

Чтобы получить более 20, вы можете использовать кнопку загрузки больше.

index.php

 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Instagram more button example</title> <!-- Instagram PHP API class @ Github https://github.com/cosenary/Instagram-PHP-API --> <style> article, aside, figure, footer, header, hgroup, menu, nav, section { display: block; } ul { width: 950px; } ul > li { float: left; list-style: none; padding: 4px; } #more { bottom: 8px; margin-left: 80px; position: fixed; font-size: 13px; font-weight: 700; line-height: 20px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> $(document).ready(function() { $('#more').click(function() { var tag = $(this).data('tag'), maxid = $(this).data('maxid'); $.ajax({ type: 'GET', url: 'ajax.php', data: { tag: tag, max_id: maxid }, dataType: 'json', cache: false, success: function(data) { // Output data $.each(data.images, function(i, src) { $('ul#photos').append('<li><img src="' + src + '"></li>'); }); // Store new maxid $('#more').data('maxid', data.next_id); } }); }); }); </script> </head> <body> <?php /** * Instagram PHP API */ require_once 'instagram.class.php'; // Initialize class with client_id // Register at http://instagram.com/developer/ and replace client_id with your own $instagram = new Instagram('ENTER CLIENT ID HERE'); // Get latest photos according to geolocation for Växjö // $geo = $instagram->searchMedia(56.8770413, 14.8092744); $tag = 'sweden'; // Get recently tagged media $media = $instagram->getTagMedia($tag); // Display first results in a <ul> echo '<ul id="photos">'; foreach ($media->data as $data) { echo '<li><img src="'.$data->images->thumbnail->url.'"></li>'; } echo '</ul>'; // Show 'load more' button echo '<br><button id="more" data-maxid="'.$media->pagination->next_max_id.'" data-tag="'.$tag.'">Load more ...</button>'; ?> </body> </html> 

ajax.php

 <?php /** * Instagram PHP API */ require_once 'instagram.class.php'; // Initialize class for public requests $instagram = new Instagram('ENTER CLIENT ID HERE'); // Receive AJAX request and create call object $tag = $_GET['tag']; $maxID = $_GET['max_id']; $clientID = $instagram->getApiKey(); $call = new stdClass; $call->pagination->next_max_id = $maxID; $call->pagination->next_url = "https://api.instagram.com/v1/tags/{$tag}/media/recent?client_id={$clientID}&max_tag_id={$maxID}"; // Receive new data $media = $instagram->getTagMedia($tag,$auth=false,array('max_tag_id'=>$maxID)); // Collect everything for json output $images = array(); foreach ($media->data as $data) { $images[] = $data->images->thumbnail->url; } echo json_encode(array( 'next_id' => $media->pagination->next_max_id, 'images' => $images )); ?> 

instagram.class.php

Найдите функцию getTagMedia () и замените на:

 public function getTagMedia($name, $auth=false, $params=null) { return $this->_makeCall('tags/' . $name . '/media/recent', $auth, $params); } 

Я установил PHP-код, который может помочь, если вы хотите получить доступ к изображениям Instagram без api на основе хэштега

Код Php для изображений хэштегов Instagram