ESPN API - 如何使用Teams API检索大学篮球会议?

时间:2013-10-29 21:50:58

标签: api rest espn

ESPN.com上的支持论坛建议使用Stack Overflow和ESPN标签。这就是我在这里的原因。

我正在尝试使用ESPN的Teams API获取所有NCAA大学篮球队的名单。我从这个GET请求开始:

http://api.espn.com/v1/sports/basketball/mens-college-basketball/teams?apikey=MY_API_KEY

这给了我一个队列表,但其中很多都缺失了。例如,没有内布拉斯加州。所以我想也许我需要通过会议获得一个团队列表。所以我在文档中读到了这个:

  

组:允许按“组”或分组进行过滤,例如AL East,NFC South等。对于组ID及其对应的值,请向http://developer.espn.com/v1/ {resource} / leagues请求。不适用于高尔夫球和网球。

然后我尝试向“http://developer.espn.com/v1/sports/basketball/mens-college-basketball/leagues?apikey=MY_API_KEY”发出请求,并说该页面不存在。

这是错误还是用户错误?

2 个答案:

答案 0 :(得分:1)

首先,我认为您忘记了资源中的sports。试试这个:

http://api.espn.com/v1/sports/basketball/mens-college-basketball?apikey=MY_API_KEY&leagues

根据documentation,它将返回整数到会议的映射。

这让我抓住了:

{"name" :"Atlantic Coast Conference","abbreviation" :"acc","groupId" :2,"shortName" :"ACC"}

......还有更多。

然后,一旦你有了,那就说2 = ACC。你应该能够做到这一点:

http://api.espn.com/v1/sports/basketball/mens-college-basketball?groups=2&apikey=MY_API_KEY'

获得ACC男子篮球队的一切。

请记住API虽然处于测试阶段。

答案 1 :(得分:0)

我无法弄清楚如何获得会议列表,但我发现了如何让失踪的团队。当我第一次获取请求时,默认情况下限制为50个结果:

http://api.espn.com/v1/sports/basketball/mens-college-basketball/teams?apikey=MY_API_KEY

他们有一个沙盒,您可以在其中使用参数,我看到了limitoffset选项:

http://developer.espn.com/io-docs

要获得超过50个结果,您必须使用limitoffset参数发出多个请求。

第一个电话: http://api.espn.com/v1/sports/basketball/mens-college-basketball/teams/?limit=50&offset=0&_accept=text%2Fxml&apikey=MY_API_KEY

下一个电话: http://api.espn.com/v1/sports/basketball/mens-college-basketball/teams/?limit=50&offset=50&_accept=text%2Fxml&apikey=MY_API_KEY

等等......