Подтвердить что ты не робот

Instagram api не работает

Я пытаюсь сделать api-вызов, чтобы получить 10 моих сообщений, но он возвращает только 1 сообщение, я использовал код jquery для вызова api:

$.ajax({
  url: 'https://api.instagram.com/v1/users/6372114628/media/recent',
  dataType: 'jsonp',
  type: 'GET',
  data: {
    count: num_photos,
    access_token: accesstoken
  },
  success: function(data2) {
    for (var i = 0; i < data2.data.length; i++) {
      $(element).append('<li><a href="' + data2.data[i].link + '" target="_blank"><img src="' + data2.data[i].images.low_resolution.url + '"></a></li>');

      //$(element).append('<li><a href="'+ data2.data[i].link +'" target="_blank" style="background-image:url('+data2.data[i].images.low_resolution.url+'); background-size:cover;"></a></li>');
    }
  },
  error: function(data2) {
    $(element).append('<li>' + data2 + '</li>');
  }
});

Что возвращает это:

https://api.instagram.com/v1/users/6372114628/media/recent?callback=jQuery1124040077233742195983_1522982885182&count=10&access_token=6372114628.890c38a.4e03aa92b121459c84e893c54c3c0ce1&_=1522982885183

Что я делаю неправильно? Я получаю только 1 сообщение, я ожидаю 10. Я пытался исправить это в течение месяца, и я никуда не собираюсь. Я ненавижу эту глупость.

У меня есть еще один друг, и я смог настроить ее Instagram без проблем:

https://api.instagram.com/v1/users/1960989467/media/recent?access_token=1960989467.1677ed0.6ab08c98b04c4b5bac6410ed045a6dbc&count=9&callback=instafeedCache35472b641655efc8.parse

Возвращает 9 элементов, как ожидалось. Это не имеет никакого значения, что так было. Как работает один, а другой нет?

С уважением, Очень разочарованный разработчик.

4b9b3361

Ответ 1

Попробуйте подключить плагины "instafeed.js". Он очень прост в использовании.

http://instafeedjs.com/.

Example :
You have to specify userId and accessToken or client_id.

var feed = new Instafeed({
                        get: 'user',
                        tagName: 'instafeed',
                        userId: userid,
                        accessToken: key,
                        resolution: 'standard_resolution',
                        target: 'feed-images', // Id of 'enter code here'
                        limit: 10,
                        template: '<li><a class="fancybox" rel="gallery1" href="\{\{image\}\}"><img src="\{\{image\}\}" /></a></li>',
                        after: function () {
                            // Effect like slider of fanvybox
                        },
                        error: function (error) {
                            console.log(error);
                        }
                    });
                    feed.run();

Ответ 2

У меня точно такая же проблема, как и вы. Для некоторых учетных записей, к сожалению, они не возвращают полный список изображений. Если вы добавите новое изображение в данную учетную запись, скорее всего, оно появится в Instagram API.

Я считаю, что это ошибка для старого API Instagram. К сожалению, невозможно сообщить специалистам Instagram об этой ошибке, так как программа отчетов об ошибках для старого API закрыта. Они принимают билеты только для нового Graph API.

ИМХО, вы ничего не можете сделать в этот момент. Неважно, какой плагин вы используете. Он поврежден для некоторых учетных записей Instagram. Поскольку старый API Instagram будет устаревшим в ближайшее время, я бы предложил медленно перейти к новому графическому API. Старый API был неудачным в последнее время. Я использую его много, и у меня была такая ситуация несколько раз. Недавно добавленные изображения появляются в ответах API, однако получение старых изображений невозможно.

Ответ 3

element='.feed';

$.ajax({
url: 'https://api.instagram.com/v1/users/6372114628/media/recent?callback=jQuery1124040077233742195983_1522982885182&count=10&access_token=6372114628.890c38a.4e03aa92b121459c84e893c54c3c0ce1&_=1522982885183',
dataType: 'jsonp',
type: 'GET',
data: {},
success: function(data2) {
	console.log(data2.data.length);
	for(var i = 0; i < data2.data.length; i++) {
		$(element).append('<li><a href="'+ data2.data[i].link +'" target="_blank"><img src="'+data2.data[i].images.low_resolution.url+'"></a></li>');
		//$(element).append('<li><a href="'+ data2.data[i].link +'" target="_blank" style="background-image:url('+data2.data[i].images.low_resolution.url+'); background-size:cover;"></a></li>');
	}
},
error: function(data2) {
	$(element).append('<li>'+ data2 +'</li>');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="feed"></div>

Ответ 4

Кажется, что есть проблема API, потому что она просто дает вам 5 должностей этой предполагаемой учетной записи. вы должны использовать их новые SDK GraphQl API.

проверьте это https://developers.facebook.com/docs/instagram-api

Ответ 5

Чувак, маркер доступа, который вы используете для получения фотографий, он дает только 5 фотографий, я думаю, вам нужно пересмотреть раздел разработчика Instagram, чтобы увидеть, что все правильно, или вы ошибочно поставили некоторые ограничения на фотографии. Потому что там всего 5 идентификаторов.
Таким образом, решение либо повторно проверит настройку песочницы, либо все ИЛИ удалит это и создаст новый. Не расстраивайся на этом. Потому что независимо от того, что вы делаете, вы получаете только 5, но я также проверил ваш API-интерфейс, он генерирует более 5, поэтому она получает более 5 фотографий. Просто повторите проверку ИЛИ Создайте новый.
Здесь код jquery для проверки,

var reviews = document.querySelector("put your selector here"),
    access_id = "6372114628.890c38a.4e03aa92b121459c84e893c54c3c0ce1",
    post_count = 10;
var query = jQuery.ajax({
    url: 'https://api.instagram.com/v1/users/self/media/recent?access_token=${access_id}&count=${post_count}&callback=?',
    error: function () {
        console.error();
    },
    success: function (result) {
        result.data.map(function (item) {
            reviews.innerHTML += '<a class="images" href="${item.link}" target="_blank"><img src="${item.images.low_resolution.url}" /></a>';
        });
    },
    type: "GET",
    dataType: "jsonp"
});