蜻蜓FM Ruby API
在您的 Gemfile
里面添加:
gem 'qingting_api'
然后, 在 console 中执行下面的代码:
# 安装gem
bundle
rails g qingting_api:config # 将会拷贝配置文件至 `config/initializers/qingting_api.rb`
Qingting.configure do |config|
# config.base_url = "http://api.open.qingting.fm" # api url
# config.client_id = "ZTk4MzAwMzAtYWFiOC0xMWU0LTkyM2YtMDAxNjNlMDAyMGFk" # 授权 API client_id
# config.client_secret = "OTdiNmI0MWEtYzhiZC0zYWE1LWExZmEtMDU0OWZhNTljZmRk" # 授权 API client_secret
# config.api_version = :v6 # API 的版本,目前有v6
# config.page_num = 1 # 获取信息时, 指定默认的页数
# config.page_size = 30 # 获取信息时, 一页包含信息数量
end
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi::Account.access_token | /access | Autho2.0授权 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.mediacenterlist | /v6/media/mediacenterlist | 获取域名中心 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.categories | /v6/media/categories | 获取点播所有分类 | |
QingtingApi.category(id) | /v6/media/categories/5 | 直播分类及获取直播属性 | |
QingtingApi.category(id) | /v6/media/categories/#{category_id} | 获取分类属性 | |
QingtingApi.channels(category_id, current_page, page_size) | /v6/media/categories/#{category_id}/channels/order/0/curpage/#{curpage}/pagesize/30 | 获取分类下的所有电台或直播电台 | |
QingtingApi.channels_attr(category_id, attrs, current_page, page_size) | /v6/media/categories/#{category_id}/channels/order/0/attr/#{attr_id_1}/#{attr_id_2}/.../curpage/#{curpage}/pagesize/30 | 通过属性筛选分类的点播电台或直播电台 | |
QingtingApi.recommend_guides | /v6/media/recommends/guides/section/#{section_id} | 点播分类推荐 | |
QingtingApi.live_banner | /v6/media/recommend/live/banner | 直播banner内容 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.channelondemand(channel_id) | /v6/media/channelondemands/#{channel_id} | 获取点播电台 | |
QingtingApi.channel(id) | /wapi/channels/#{channel_id} | (新)获取点播电台 | |
QingtingApi.wapi_programs(channel_id, curpage, page_size) | /wapi/channelondemands/#{channel_id}/programs/curpage/#{curpage}/pagesize/#{pagesize} | (新)获取点播电台节目单 | |
QingtingApi.programs(channel_id, curpage, page_size) | /v6/media/channelondemands/#{channel_id}/programs/curpage/#{curpage}/pagesize/30 | 获取点播电台下的点播节目 | |
QingtingApi.program(id) | /v6/media/programs/#{programid} | 获取点播节目 | |
QingtingApi.recommends(channel_id, curpage, page_size) | /v6/media/channelondemands/#{channel_id}/recommends/curpage/#{curpage}/pagesize/#{pagesize} | 获取电台推荐列表 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.channellive(id) | /v6/media/channellives/#{channel_id} | 获取直播电台 | |
QingtingApi.live_channel(id) | /wapi/channels/#{channel_id} | (新)获取直播电台 | |
QingtingApi.channellives(channel_id, days) | /v6/media/channellives/#{channel_id}/programs/day/#{day_1}/#{day_2}/.../ | 获取直播电台节目单 | days: day1,day2,day3,... |
QingtingApi.nowplaying(day_of_week) | /v6/media/recommends/nowplaying/day/#{day_of_week} | 获取正在直播电台列表 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.program(id) | /v6/media/programs/#{programid} | 获取临 8000 直播信息 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.billboards_lives | /v6/media/recommends/billboards/channellives | 电台排行榜 | |
QingtingApi.billboards_ondemands | /v6/media/recommends/billboards/programondemands | 点播节目排行榜 | |
QingtingApi.categories_billboard(category_id) | /wapi/categories/#{category_id}/channels/billboard | 分类排行榜 | |
QingtingApi.type_billboard(category_id,type) | /v6/media/categories/#{category_id}/channels/billboard/#{type} | 获取不同类型的分类排行榜 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.newsearch(keyword, type) | /newsearch/#{keyword}/type/#{type} | 新搜索 | |
QingtingApi.search_hotkeywords | /search/hotkeywords | 搜索热词 | |
QingtingApi.suggest(keyword) | /newsearch/suggest?k=#{keyword} | 获取搜索提示 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.categories_recent(start_time, end_time) | /v6/media/categories/recent/starttime/#{starttime}/endtime/#{endtime} | 获取点播分类的更新状态 | |
QingtingApi.channels_recent(category_id, start_time, end_time, current_page=1, page_size=30) | /v6/media/categories/#{category_id}/recent/channels/starttime/#{starttime}/endtime/#{endtime}/curpage/#{curpage}/pagesize/#{pagesize} | 查询某个点播分类在指定时间段内所有点播分类的更新状态 | |
QingtingApi.channelondemands_recent(channelondemand_id, start_time, end_time, current_page=1, page_size=30) | /v6/media/channelondemands/#{channelondemand_id}/recent/starttime/#{starttime}/endtime/#{endtime}/curpage/#{curpage}/pagesize/#{pagesize} | 查询某个点播专辑在指定时间段内节目的更新状态 | |
QingtingApi.live_recent(start_time, end_time, current_page=1, page_size=30) | /v6/media/categories/live/recent/channels/starttime/#{starttime}/endtime/#{endtime}/curpage/#{curpage}/pagesize/#{pagesize} | 查询直播电台在指定时间段内的更新状态 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.podcaster_guides | /v6/media/podcasters/guides | 获取主播推荐页面信息 | |
QingtingApi.podcasters_attributes | /v6/media/podcasters/attributes | 获取主播分类属性 | |
QingtingApi.podcasters_type(type, page) | /v6/media/podcasters/type/#{type}/page/#{page} | 获取主播排行榜或新增主播 | |
QingtingApi.podcasters_recommends | /v6/media/podcasters/attr/#{attrIds}/page/#{page} | 获取属性的所有主播 | |
QingtingApi.podcasters_attr(attr_ids, page) | /v6/media/podcasters/recommends | 获取推荐的主播 | |
QingtingApi.podcaster(id) | /v6/media/podcasters/#{qingting_id} | 获取主播信息 | |
QingtingApi.podcasters_channelondemands(qingting_id) | /v6/media/podcasters/#{qingting_id}/channelondemands | 获取主播专辑列表 | |
QingtingApi.podcasters_recent(qingting_id) | /v6/media/podcasters/#{qingting_id}/recent | 获取主播最近更新节目 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.now | /v6/media/now | 获取此时此刻节目列表 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.topic(topic_id) | /v6/media/topics/#{topic_id} | 获取专题的专辑列表 |
方法 | API | 接口文档 | 说明 |
---|---|---|---|
QingtingApi.activity(activity_id) | v6/media/activities/#{activity_id} | 获取活动信息 |
时间 | 版本 | 接口文档 |
---|---|---|
2015.12.08 | 0.1.5 | 添加自定义分页参数 |
2016.12.31 | 0.2.0 | API 接口更新 |
2017.01.03~01.08 | 0.3.0 | 重构全部接口 |
Bug reports and pull requests are welcome on GitHub at https://github.com/cheenwe/qingting_api. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the MIT License.