【发布时间】:2016-11-21 21:14:31
【问题描述】:
我是一名新程序员,对.js 总体来说还是很陌生。
我当前的问题是,当我在本地(即在 Firefox 的控制台上)运行此脚本 Instagram.popular(function(r){ console.log(r)}) 时,我收到以下错误 The access_token provided is invalid
正如我在 gitHub 和其他地方所读到的,它与 Instagram 更改某些 API 政策有关,正如 here 所讨论的那样。 Instagram 的更改日志为here。
如果有人能指出我正确的方向,我将非常感激。
您可以在下面看到我的完整 .js 代码。
代码
window.Instagram = {
/**
* Store application settings
*/
config: {},
BASE_URL: 'https://api.instagram.com/v1',
init: function( opt ) {
opt = opt || {};
this.config.client_id = opt.client_id;
},
/**
* Get a list of popular media.
*/
popular: function( callback ) {
var endpoint = this.BASE_URL + '/media/popular?client_id=' + this.config.client_id;
this.getJSON( endpoint, callback );
},
/**
* Get a list of recently tagged media.
*/
tagsByName: function( name, callback ) {
var endpoint = this.BASE_URL + '/tags/' + name + '/media/recent?client_id=' + this.config.client_id;
this.getJSON( endpoint, callback );
},
getJSON: function( url, callback ) {
$.ajax({
type: 'GET',
url: url,
dataType: 'jsonp',
success: function( response ) {
if ( typeof callback === 'function' ) callback( response );
}
});
}
};
Instagram.init({
client_id: '97bf259cc45f4dd6a2cd02b694b7ffe7'
});
$( document ).ready(function() {
Instagram.popular(function( response ) {
var $instagram = $( '#instagram' );
for ( var i = 0; i < response.data.length; i++ ) {
imageUrl = response.data[i].images.low_resolution.url;
$instagram.append( '<img src="' + imageUrl + '" />' );
}
});
$( '#form' ).on('submit', function( e ) {
e.preventDefault();
var tagName = $( '#search' ).val();
Instagram.tagsByName(tagName, function( response ) {
var $instagram = $( '#instagram' );
$instagram.html('');
for ( var i = 0; i < response.data.length; i++ ) {
imageUrl = response.data[i].images.low_resolution.url;
$instagram.append( '<img src="' + imageUrl + '" />' );
}
});
});
});
【问题讨论】: