Javascript stackexchange API-通过用户获取用户ID

Javascript stackexchange API-通过用户获取用户ID,javascript,stackexchange-api,Javascript,Stackexchange Api,我想通过stackoverflow获取用户的活动,如图所示,但问题是,它只接受用户的ID。我只想通过用户昵称来执行此操作,这样任何人都可以只写他的昵称并获取统计信息。API似乎不支持通过提供尼克来获取用户ID 是否有任何解决方法可以通过用户名获取用户ID?谢谢 在YQL的帮助下,我放弃了来自stackoverflow/users的响应,通过AJAX跨域获取页面。以下是大致代码: HTML Javascript var idCont=$('div'), 输入=$(‘输入’); //输入事件 i

我想通过stackoverflow获取用户的活动,如图所示,但问题是,它只接受用户的ID。我只想通过用户昵称来执行此操作,这样任何人都可以只写他的昵称并获取统计信息。API似乎不支持通过提供尼克来获取用户ID


是否有任何解决方法可以通过用户名获取用户ID?谢谢

在YQL的帮助下,我放弃了来自
stackoverflow/users
的响应,通过AJAX跨域获取页面。以下是大致代码:

HTML

Javascript
var idCont=$('div'),
输入=$(‘输入’);
//输入事件
input.on('blur',function(){
doAjax(this.value);
}).on('keydown',功能(e){
如果(e.keyCode==13)
doAjax(this.value);
});
函数doAjax(url){
url='1〕http://stackoverflow.com/users/filter?search=“+url;
if(url.match(“^http”)){
html('fetching…');
$.getJSON(“http://query.yahooapis.com/v1/public/yql?"+
“q=从%20html%20中选择%20*%20,其中%20url%3D%22”+
编码组件(url)+
“%22&format=xml'&callback=?”,
功能(数据){
idCont.empty();
如果(数据结果[0]){
data=filterData(data.results[0]);
getid($('').html(数据));
}
}
);
}
}
//清理响应
函数过滤器数据(数据){

data=data.replace(/我不相信这是可能的-一个原因是用户名不是唯一的。那么,为什么我不能获得每个用户名的所有可能ID,如果它是唯一的,那么就使用它。虽然这可能是一个想法,但它不是实现API的标准/直观方式。下面是所有API端点的列表,看起来它只支持ID..这是它本身应该是一个API,用于获取与用户名相关的所有ID。但由于某种原因,他们没有这样做,所以我不得不自己破解一个解决方案……怀疑者@karthikr看到了我的答案。通过难看的编码很容易做到
<input>
<div></div>
var idCont = $('div'),
    input = $('input');

// input events
input.on('blur', function(){
  doAjax(this.value);
}).on('keydown', function(e){
  if (e.keyCode == 13)
    doAjax(this.value);
});


function doAjax(url){
  url = 'http://stackoverflow.com/users/filter?search=' + url;
  if(url.match('^http')){
    idCont.html('fetching...');
    $.getJSON("http://query.yahooapis.com/v1/public/yql?"+
              "q=select%20*%20from%20html%20where%20url%3D%22"+
              encodeURIComponent(url)+
              "%22&format=xml'&callback=?",
              function(data){
      idCont.empty();
      if(data.results[0]){
        data = filterData(data.results[0]);
        getIDs( $('<div>').html(data) );
      }
    }
             );
  }
}

// clean up the response
function filterData(data){
  data = data.replace(/<?\/body[^>]*>/g,'')
  .replace(/[\r|\n]+/g,'')
  .replace(/<--[\S\s]*?-->/g,'')
  .replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g,'')
  .replace(/<script[^>]*>[\S\s]*?<\/script>/g,'')
  .replace(/<script.*\/>/,'');
  return data;
}

// scrap the DOM for the user's IDs
function getIDs( elm ){
  var IDs = '';
  elm.find('.user-info').each(function(){
    var id = $(this).find('a:first')[0].href.split('/').reverse()[1];
    IDs += id + '<br>';
  });

  idCont.html(IDs);
}