Мне нужно получить некоторые фотографии, которые имеют конкретный хэштег, используя PHP? Любая помощь будет потрясающей или подсказкой?Получите все фотографии от Instagram, у которых есть определенный хэштег с 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>';
}
?>
Знаете ли вы, как пройти предел 20? – Staysee
@ Staysee См. Ответ ниже. – kexxcream
@kexxcream Я запускаю ваш API, и я хочу getTagMedia для хэштега #thesouthfarm. Проблема в том, что я получаю только собственные изображения с этим тегом. Не мои друзья. Есть ли там какие-то ограничения? – Ismailp
Чтобы получить более 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);
}
Это отлично работает! +1 Если бы у вас было время, не могли бы вы взглянуть на аналогичную проблему, которая у меня есть? http://stackoverflow.com/questions/17487231/input-value-in-ajax-call-does-not-work –
Кажется, кому-то еще удалось быстрее ответить, поэтому я думаю, что он решен. – kexxcream
Да, видимо. Спасибо, в любом случае! –
Если вам нужно отобразить базу изображений только в теге, тогда не следует включать класс-оболочку «instagram.class.php». Поскольку конечные точки тегов Media & в 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.'" />';
}
Я заметил, что он хватает всего 20 картин. Являются ли эти 20 последних фотографий? Как получить больше? – dKab
Те самые последние 20. Если вы посмотрите на URL-адрес, у него есть «media/recent». В соответствии с API Instagram, который будет упорядочиваться по дате спуска. – mirichan
@Gursharan Singh Здравствуйте, у меня есть hashtag с подчеркиванием, и я использую этот код и отлично работаю для всех хэштегов, кроме хэштега, с подчеркиванием любой справки. – Fadi
Я поставил код PHP, который может помочь в случае, если вы хотите получить доступ к Instagram изображений без апи на основе хэштегом
С ноября 17, 2015 Вы должны аутентификации пользователей сделать любые (даже такие, как «получить некоторые фотографии с конкретными хэштегами»). См the Instagram Platform Changelog:
приложения, созданные на или после 17 ноября 2015 года: Все оконечные API требуется действительный access_token. приложение, созданное до 17 ноября 2015 года: Непораженного нового поведение API до 1 июня 2016 года
это делает в настоящее время всех ответы, приведенные здесь до 1 июня 2016 года больше не полезно.
, но вы можете получить «получить некоторые фотографии, у которых есть конкретный хэштег» [без использования API] (http://stackoverflow.com/questions/40542335/how-to-get-all-images-of-hashtag-in -instagram-without-api) – machineaddict
2017 и я все еще могу получить данные без токена доступа. Пример: https://www.instagram.com/salvun/media/ – redochka
Как я могу получать сообщения, используя различные хэштеги в моем приложении для Android? –
- 1. Могу ли я вытащить фотографии Instagram, которые используют конкретный хэштег?
- 2. фотографии людей, которых вы следуете instagram api
- 3. Получите все сообщения, у которых нет условий с WP_Query
- 4. Найти все страницы, у которых есть родитель
- 5. Найти все записи, у которых есть поле, отличное от нуля?
- 6. Instagram апи - получить все фотографии с хэштегом
- 7. Получить фотографии instagram от Hashtag
- 8. Linux - Список пользователей, у которых есть определенный каталог
- 9. Идентифицируйте узлы страниц, у которых есть определенный контроллер раскладки
- 10. MySQL - Получите количество пользователей, у которых есть «пользовательский контакт»
- 11. Jquery выберите все элементы, у которых есть ключ доступа
- 12. Count tr in tbody, у которых есть определенный стиль.
- 13. Laravel получить все записи, у которых есть категория
- 14. Instagram API - Фотографии пользователей
- 15. У классов, у которых есть вектор, есть проблемы с памятью
- 16. найти все словари, у которых есть неопределенное количество определенных ключей
- 17. Получите значения href, у которых установлен флажок?
- 18. Выберите переменные символов, у которых есть все отсутствующие значения
- 19. Извлечь фотографии из Instagram
- 20. Как запросить все записи, у которых есть атрибут массива, который содержит определенный набор элементов в Mongoid?
- 21. Получите все фотографии, загруженные их видимостью?
- 22. Фотографии Instagram для UIImageView
- 23. как получить Instagram фотографии
- 24. Скребок Instagram Фотографии
- 25. Как получить все объекты, у которых есть дочерние объекты
- 26. Получить фотографии с тегами пользователя Instagram
- 27. Должны ли все методы, у которых есть возвращаемое значение, свойство?
- 28. Удалить все документы из Solr, у которых есть пустое поле
- 29. Найти только записи, у которых есть все удаленные ассоциации
- 30. Подсчитайте все проверенные CheckBox в ListView, у которых есть подкачка
Первый URL-адрес кажется сломанным. Это работает: http://instagram.com/developer/endpoints/tags/ – Shahar
@Shahar Обновление, спасибо. –
API-интерфейс instagram просто появляется * безумный *. Неужели они ожидают, что вы получите аутентификацию у каждого посетителя, чтобы получить публичный фид? –