Skip to content

cheenwe/qingting_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qingting

蜻蜓FM Ruby API

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

接口方法

Autho2.0授权

方法 API 接口文档 说明
QingtingApi::Account.access_token /access Autho2.0授权

音频数据中心

方法 API 接口文档 说明
QingtingApi.mediacenterlist /v6/media/mediacenterlist 获取域名中心

分类(Category)

方法 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内容

点播(OnDemand)

方法 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} 获取电台推荐列表

直播(Live)

方法 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} 获取正在直播电台列表

临时直播节目(Live)

方法 API 接口文档 说明
QingtingApi.program(id) /v6/media/programs/#{programid} 获取临时直播信息

排行榜

方法 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} 获取活动信息

Change log

时间 版本 接口文档
2015.12.08 0.1.5 添加自定义分页参数
2016.12.31 0.2.0 API 接口更新
2017.01.03~01.08 0.3.0 重构全部接口

Contributing

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.

License

The gem is available as open source under the terms of the MIT License.