我刚开始使用Twitter API使用jQuery检索数据。我已经使用API ok检索有关单个用户的信息,例如https://twitter.com/users/show/codinghorror.json
当我尝试检索给定用户所关注的所有用户时,我使用相同的检索模式但是收到404错误(看起来我的回调没有正确接收json对象,但是附加了它以某种方式到URL)
我正在使用以下代码:
getTwitterUserFriends: function() {
var user = 'codinghorror';
var url = 'http://api.twitter.com/1/friends/ids.json?screen_name='+user+'?callback=?';
$.getJSON(url, function(data) {
alert('call succeeded' + data.ids);
});
},
在chrome中,控制台显示以下错误:
GET https://api.twitter.com/1/friends/ids.json?screen_name=codinghorror?callback=jQuery15201747908447869122_1324917568956&_=1324917580929 404 (Not Found)
但是,如果我直接浏览到URL https://api.twitter.com/1/friends/ids.json?screen_name=codinghorror,那么我可以看到返回的结果对象。
我认为我在回调中做了一些简单的错误,但看不出它是什么,因为我上面使用的方法适用于其他API调用,所以任何帮助都会非常感激!
答案 0 :(得分:1)
您的网址语法不正确。 “callback”参数应该用“&”分隔,而不是“?”。
var url = 'http://api.twitter.com/1/friends/ids.json?&screen_name='+user+'&callback=?';
您也应该对用户名进行URL编码:
var url = 'http://api.twitter.com/1/friends/ids.json?&screen_name=' +
escapeURIComponent(user) +
'&callback=?';
此外,我不确定你为什么会有“&”在“screen_name”参数之前。