Вопрос по api инстаграма

250
19 ноября 2020, 19:50

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

var keyInst = '7479478511.321a9bc.e30cbb600799495da4ef993a2f43a76c', 
    countInst = '3', 
    linkInst = 'http://instagram.com/'; 
$.ajax({ 
    dataType: "jsonp", 
    url: 'https://api.instagram.com/v1/users/self/media/recent/?access_token=' + keyInst + '&count=' + countInst + '', 
    success: function(data) { 
        var linkInstButton = data.data[0].user.username; 
        for (var i = 0; i < countInst; i++) { 
            var username = data.data[i].user.full_name, 
                text = data.data[i].caption.text, 
                userpic = data.data[i].user.profile_picture, 
                url = data.data[i].images.standard_resolution.url, 
                link = data.data[i].link, 
                city = data.data[i].location.name; 
            $('.inst-list').append('<a href="' + link + '" target="_blank" class="inst-list--el"><div class="meta"><div class="img"><img src="' + userpic + '" alt="' + username + '"></div><div class="text"><p class="name">' + username + '</p><p class="time">' + city + '</p></div></div><div class="image"><img src="' + url + '" alt="' + text + '"></div><div class="detail"><p class="name">' + username + '<span>' + text + '</span></p></div></a>'); 
        } 
        $('.inst-list--btn a').attr('href', linkInst + linkInstButton); 
    } 
});
<div class="inst-list"></div> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Answer 1

Как то так?

city = data.data[i].location ? data.data[i].location.name : "not found";

var keyInst = '7479478511.321a9bc.e30cbb600799495da4ef993a2f43a76c', 
    countInst = '3', 
    linkInst = 'http://instagram.com/'; 
$.ajax({ 
    dataType: "jsonp", 
    url: 'https://api.instagram.com/v1/users/self/media/recent/?access_token=' + keyInst + '&count=' + countInst + '', 
    success: function(data) { 
        var linkInstButton = data.data[0].user.username; 
        for (var i = 0; i < countInst; i++) { 
            var username = data.data[i].user.full_name, 
                text = data.data[i].caption.text, 
                userpic = data.data[i].user.profile_picture, 
                url = data.data[i].images.standard_resolution.url, 
                link = data.data[i].link, 
                city = data.data[i].location ? data.data[i].location.name : "not found"; 
            $('.inst-list').append('<a href="' + link + '" target="_blank" class="inst-list--el"><div class="meta"><div class="img"><img src="' + userpic + '" alt="' + username + '"></div><div class="text"><p class="name">' + username + '</p><p class="time">' + city + '</p></div></div><div class="image"><img src="' + url + '" alt="' + text + '"></div><div class="detail"><p class="name">' + username + '<span>' + text + '</span></p></div></a>'); 
        } 
        $('.inst-list--btn a').attr('href', linkInst + linkInstButton); 
    } 
});
<div class="inst-list"></div> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

READ ALSO
обойти overflow hidden [закрыт]

обойти overflow hidden [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

162
Как сделать скроллинг для блоков не выходил за рамки границы?

Как сделать скроллинг для блоков не выходил за рамки границы?

У меня есть комнаты с классом chat-list_rooms и список сообщений с классом chat-messageМне нужно, чтобы при превышение body

139
Выравнивание полей структуры

Выравнивание полей структуры

Прочитал ответ на этот вопрос, где говорилось о выравнивании полей структуры и загорелся идеей пересчитать размер такой структуры:

127
Крашится приложение qt на другом ПК [закрыт]

Крашится приложение qt на другом ПК [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

119