使用Instagram API,我可以返回我自己最近的照片:
https://api.instagram.com/v1/users/[my-user-id]/media/recent?client_id=[my-client-id]
但是,我无法使用[other-user-id]
检索其他用户,即使我能够在API console中执行此操作。这是我正在使用的JavaScript代码
$.ajax({
type:'post',
url:'https://api.instagram.com/v1/users/[my-user-id]/media/recent?client_id=[client-id]',
dataType:'jsonp',
success:function(data){
console.log('got data ', data)
}
})
注意,使用帖子可以避免Access-Control-Allow-Origin
的问题。
答案 0 :(得分:1)
我认为您想使用oAuth而不是客户端ID。
这是一个例子。
第1步:将用户重定向到instagram登录。
<a href="https://instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token">Instagram Login</a>
返回时,删除访问令牌,如下所示:
function AccessToken(value) {
this.value = value;
}
function getInstagramAccessToken() {
var hash = location.hash.replace('#', '')
if(hash.indexOf("access_token") >= 0 ){
instagramToken = new AccessToken(hash)
}else{
instagramToken = null;
}
}
Ste 2:经过身份验证后,按照以下方式拨打电话:
var photoList_Instagram = []
function getInstagramPhotoList(nextPageUrl) {
var requestUrl = 'https://api.instagram.com/v1/users/self/media/recent' + "?"
+ instagramToken.value
if(nextPageUrl){
requestUrl = nextPageUrl;
}
$.ajax({
type : "GET",
dataType : "jsonp",
url : requestUrl,
success : function(response) {
response.data.forEach(function(photo){
photoList_Instagram.push(photo);
})
if (response.pagination.next_url) {
getInstagramPhotoList(response.pagination.next_url)
} else {
//your code here
foo(photoList_Instagram);
}
}
});