gpt4 book ai didi

jQuery 结合 Instagram API 中的 Ajax 对象

转载 作者:行者123 更新时间:2023-12-01 01:23:06 24 4
gpt4 key购买 nike

我有两个问题。我的最终目标是向 Instagram 发出请求并按标签过滤图像。 Instagram 不允许一次超过 33 张图像,所以现在我在另一个图像中使用 ajax。第一个请求获取图像,然后检查是否有更多图像,如果有更多图像,我会发出另一个请求。这是我的两个问题。

#1 - 我无法将这 2 个对象合并为 1 个。我已经尝试了所有我能想到的或在网上找到的东西。

var new_data = $.extend({}, data, data2);

$.extend(data, data2);

不起作用,它只是给了我 1 个对象

#2 - 我的下面的逻辑有些缺陷,因为这只允许我最多获得 66 个图像(2 个请求,每个 33 个图像)。我真正需要的是让 ajax 处于某种循环中。但我不知道该怎么做。

var userid = '#######';
var token = '############';
var url = 'https://api.instagram.com/v1/users/' + userid + '/media/recent/?access_token=' + token + '&count=33';

$.ajax({
type: 'GET',
dataType: 'jsonp',
cache: false,
url: url,

success: function(response){
var paging = response.pagination;
var data = response.data;
console.log(data);

if(paging.hasOwnProperty('next_url')){

url = paging.next_url;

$.ajax({
type: 'GET',
dataType: 'jsonp',
cache: false,
url: url,
success: function(response2){
var data2 = response2.data;
var new_data = $.extend({}, data, data2);
}
});

}else{
// No more images so create image gallery
}
},
error: function(){
// error stuff
}
});

这是我从 Instagram 返回的示例

enter image description here

最佳答案

已测试。有用。尝试一下

var imageData = [];
$(function() {
var url = 'https://api.instagram.com/v1/tags/smpspree/media/recent/?client_id=81e3d3f35c8a4438964001decaa5a31f&count=11';

getData(url, function() {
for (var i in imageData) {
console.log(imageData[i])
}
});

function getData(url, callback){
$.ajax({
type: 'GET',
dataType: 'jsonp',
cache: false,
url: url,
success: function(response){
console.log(response.data)
imageData = imageData.concat(response.data)
var paging = response.pagination;
if (paging.hasOwnProperty('next_url')) {
getData(paging.next_url, callback)
} else {
callback.call();
}
}
});
}

})

关于jQuery 结合 Instagram API 中的 Ajax 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29859766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com