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”发出请求,并说该页面不存在。
这是错误还是用户错误?
答案 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
他们有一个沙盒,您可以在其中使用参数,我看到了limit
和offset
选项:
http://developer.espn.com/io-docs
要获得超过50个结果,您必须使用limit
和offset
参数发出多个请求。
第一个电话:
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
等等......