最新新闻
万维易源 官方文档
新闻API接口 官方自营 会员接口 每10分钟刷新。新闻API接口,包括多个频道的最新新闻,有国内焦点、国际焦点、军事焦点、财经焦点、互联网焦点...
基本说明:
接口地址:http://route.showapi.com/109-35
返回格式:json
请求方式:get/post
请求示例:0
请求参数说明:
名称 类型 必填 说明
channelId String 选填 新闻频道id,必须精确匹配,5572a108b3cdc86cf39001cd:国内焦点;5572a108b3cdc86cf39001ce:国际焦点......
channelName String 选填 新闻频道名称,可模糊匹配
title String 选填 标题名称,可模糊匹配
page String 选填 页数,默认1。每页最多20条记录。
needContent String 选填 是否需要返回正文,1为需要,其他为不需要
needHtml String 选填 是否需要返回正文的html格式,1为需要,其他为不需要
needAllList String 选填 是否需要最全的返回资料。包括每一段文本和每一张图。用list的形式返回。
maxResult String 选填 每页返回记录数,值在20-100之间。
id String 选填 新闻id,可用此信息取得一条新闻记录
返回参数说明:
名称 类型 说明
agebea PageBea 返回的分页结构
allNum Number 所有记录数
allPage Number 所有页数
currentPage Number 当前页
maxResult Number 每页最大记录数
contentlist Item[] 数据条目列表
title String 新闻标题
link String 新闻详情链接
ubDate String 发布时间
ource String 来源网站
desc String 新闻简要描述
channelId String 频道id
channelName String 频道名称
id String 新闻对应的外网id
imageurls Img[] 图片列表
content String 新闻正文,txt格式
html String 新闻正文,html格式
ret_code String 成功为0,其他失败
JSON返回示例:
{
	"showapi_res_code": 0,
	"showapi_res_error": "",
	"showapi_res_body": {
		"ret_code": 0,
		"pagebean": {
			"allPages": 5,
			"contentlist": [{
					"allList": [
						"足球,有着“世界第一运动”的美誉,是全球体育界最具影响力的单项体育运动。就在几天前,一场足球盛宴——欧洲杯完美落幕,回首历时近一个月的赛程,足球所带来的热血与激情,伴随着球迷朋友们一起见证了一个个不眠之夜,其魅力自然可见一斑。",
						"而在漳州,也有一批热爱足球运动的青少年,这些小足球员们“小荷才露尖尖角”,他们挥洒汗水,正义无反顾地向着“足球梦”追逐奔跑。",
						"张梦丽与其他踢球的孩子一样,为了足球她也笑过、也哭过。学校里女子足球队成立的时候,是她最开心的时候,因为球队的创立代表着自己有展示自我风采的舞台,可以出去比赛了。后来因为年龄大了几个月,她没有办法进入省队,也没能去参加省里的比赛,这些都成了她的遗憾。",
						"一路走来,足球成了张梦丽最喜欢的东西。有时,她会梦到自己到省队了,或者去参加比赛了,这时她甚至会激动得醒来。学习成绩在班级排名中上的她表示,未来自己想考到好的学校,但同时不会放弃对足球的执着与热爱。"
					],
					"pubDate": "2016-07-14 11:36:05",
					"title": "漳州足球大数据:拥有足球特色学校91所国家级46所",
					"channelName": "社会最新",
					"imageurls": [],
					"desc": "就在几天前,一场足球盛宴——欧洲杯完美落幕,回首历时近一个月的赛程,足球所带来的热血与激情,伴随着球迷朋友们一起见证了一个个不眠之夜,其魅力自然可见一斑。在漳州,也有一批热爱足球运动的青少年,这些小足球员们“小荷才露尖尖角”,他们挥洒汗水,正义无反顾地向着“足球梦”追逐奔跑。",
					"source": "手机中国",
					"channelId": "5572a10bb3cdc86cf39001f8",
					"nid": "10427894029754912460",
					"link": "http://m.china.com.cn/baidu/doc_1_3_1596740.html"
				},
				{
					"allList": [
						"提起万达,很多人也许会自然联想到另一个词——并购,这仿佛已经成了王老板的主要生存法则。两天前,万达集团旗下的美国AMC院线宣布,以9.21亿英镑的价格并购欧洲第一大院线——Odeon & UCI院线,在“买买买”的路上又迈出震惊世界的一步。",
						"体育和影视可以说是万达文化产业的左膀右臂,万达影视的并购之路方兴未艾,而万达体育自成立之后更是大动作不断。以盈方体育传媒集团和世界铁人公司为基底的万达体育,到了2016年开始将重心转向经营,先是成为国际足联顶级赞助商,随后又成为国际篮联全球独家商业合作伙伴。插上这对翅膀的万达体育除了继续扩充自己的资源池以外,还开始向世界展示自己的品牌影响力。",
					],
					"pubDate": "2016-07-14 10:48:04",
					"title": "创立“中国杯” 习惯了“买买买”的万达要靠自创IP为中国足球出把力",
					"channelName": "国内最新",
					"imageurls": [],
					"desc": "“中国杯”则是万达与国际足联合作的第一项赛事落地,这也标志着万达开始着重加强自己的赛事运营业务。"
					"source": "禹唐体育",
					"sentiment_display": 0,
					"channelId": "5572a109b3cdc86cf39001db",
					"nid": "2623216982465905421",
					"link": "http://ytsports.cn/news-10662.html?cid=64"
				},
				{
					"allList": [{
							"height": 426,
							"width": 640,
							"url": "http://img1.gtimg.com/sports/pics/hv1/198/144/2098/136459368.jpg"
						},
						"《体育产业发展“十三五”规划》指出,积极研究推进发行以中国足球职业联赛为竞猜对象的",
						"腾讯体育7月14日讯 13日,国家体育总局在其官网刊登了《体育产业发展“十三五”规划》,其中明确指出,加强三大球联赛建设、积极研究推进积极研究推进发行以中国足球职业联赛为竞猜对象的足球"
					],
					"pubDate": "2016-07-14 10:17:26",
					"title": "体育产业"
					十三五 "规划:推进中国足球联赛竞彩",
					"channelName": "国内足球最新",
					"imageurls": [{
						"height": 426,
						"width": 640,
						"url": "http://img1.gtimg.com/sports/pics/hv1/198/144/2098/136459368.jpg"
					}],
					"desc": "《体育产业发展“十三五”规划》指出,积极研究推进发行以中国足球职业联赛为竞猜对象的足球彩票腾讯体育7月14日讯13日,国家体育总局在其官网刊登了《体育产业发展“十三五”规划》,其中明确指出,加强三大球联赛建设、积极研究推进积极研究推进发行以中国足球职业联赛为竞猜对象的足球彩票。《体育产业发展“十三五”规",
					"source": "国内足球新闻",
					"channelId": "5572a10ab3cdc86cf39001e8",
					"link": "http://sports.qq.com/a/20160714/021723.htm"
				}
			],
			"currentPage": 1,
			"allNum": 94,
			"maxResult": 20
		}
	}
}
服务级错误码参照
错误码 说明
-1 系统调用错误
-2 可调用次数或金额为0
-3 读取超时
-4 服务端返回数据解析错误
-5 后端服务器DNS解析错误
-6 服务不存在或未上线
-1000 系统维护
-1002 showapi_appid字段必传
-1003 showapi_sign字段必传
-1004 签名sign验证有误
-1005 showapi_timestamp无效
-1006 app无权限调用接口
-1007 没有订购套餐
-1008 服务商关闭对您的调用权限
-1009 调用频率受限
-1010 找不到您的应用
-1011 子授权app_child_id无效
-1012 子授权已过期或失效
-1013 子授权ip受限
完整教学代码示例
public static void main(String path[]) throws Exception {
URL u = new URL("http://route.showapi.com/109-35?showapi_appid%3Dmyappid%26channelId%3D%26channelName%3D%26title%3D%E8%B6%B3%E7%90%83%26page%3D1%26needContent%3D0%26needHtml%3D0%26needAllList%3D0%26maxResult%3D20%26id%3D%26showapi_sign%3Dmysecret");
InputStream in = u.openStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
byte buf[] = new byte[1024];
int read = 0;
while ((read = in .read(buf)) > 0) {
out.write(buf, 0, read);
}
} finally {
if ( in != null) {
in .close();
}
}
byte b[] = out.toByteArray();
System.out.println(new String(b, "utf-8"));
}
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/3/15 17:50
 */
//----------------------------------
// 易源 新闻 调用类
//----------------------------------
class freeApi{
    private $apiId = false; //易源appid
    private $apiSecret = false; //易源secret
    private $apiUrl = 'http://route.showapi.com/109-35';
    public function __construct($apiid,$secretkey){
        $this->apiId = $apiid;
        $this->apiSecret = $secretkey;
    }
    /**
     * url拼接
     * @return string
     */
    private function handleParam($paramArr,$showapi_secret){
        $paraStr = "";
        $signStr = "";
        ksort($paramArr);
        foreach ($paramArr as $key => $val) {
            if ($key != '' && $val != '') {
                $signStr .= $key.$val;
                $paraStr .= $key.'='.urlencode($val).'&';
            }
        }
        $signStr .= $showapi_secret;//排好序的参数加上secret,进行md5
        $sign = strtolower(md5($signStr));
        $paraStr .= 'showapi_sign='.$sign;//将md5后的值作为参数,便于服务器的效验
        return '?'.$paraStr;
    }
    /**
     * 将JSON内容转为数据,并返回
     * @param string $content [内容]
     * @return array
     */
    public function returnArray($content){
        return json_decode($content,true);
    }
    /**
     * 获取 新闻 结果
     * @return array
     */
    public function getResult(){
        $paramArr = [
            'showapi_appid'=> $this->apiId,
            'channelId'=> "",
            'channelName'=> "",
            'title'=> "足球",
            'page'=> "1",
            'needContent'=> "0",
            'needHtml'=> "0",
            'needAllList'=> "0",
            'maxResult'=> "20",
            'id'=> ""
        ];
        return $this->returnArray($this->freeApiCurl($this->apiUrl.$this->handleParam($paramArr,$this->apiSecret)));
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false,$ispost=0){
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($params){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            return false;
        }
        curl_close( $ch );
        return $response;
    }
}
//推荐使用npm安装使用sdk: npm install --save showapi-sdk
'use strict';

var showapiSdk = require('showapi-sdk');

//设置你测试用的appId和secret,img
var appId='';
var secret='';
//开启debug
//showapiSdk.debug(true);
if(!(appId&&secret)){
  console.error('请先设置appId等测试参数,详见样例代码内注释!')
  return;
}
//全局默认设置
showapiSdk.setting({
  url:"http://route.showapi.com/109-35",//你要调用的API对应接入点的地址,注意需要先订购了相关套餐才能调
  appId:appId,//你的应用id
  secret:secret,//你的密钥
  timeout:5000,//http超时设置
  options:{//默认请求参数,极少用到
    testParam:'test'
  }
})

var request=showapiSdk.request();
request.appendText('channelId','');
request.appendText('channelName','');
request.appendText('title','足球');
request.appendText('page','1');
request.appendText('needContent','0');
request.appendText('needHtml','0');
request.appendText('needAllList','0');
request.appendText('maxResult','20');
request.appendText('id','');
request.post(function(data){
  console.info(data)
})
package main

import (
"showSdk/normalRequest"
"fmt"
)
res := normalRequest.ShowapiRequest("http://route.showapi.com/109-35",my_appId,"my_appSecret")
res.AddTextPara("channelId","")
res.AddTextPara("channelName","")
res.AddTextPara("title","足球")
res.AddTextPara("page","1")
res.AddTextPara("needContent","0")
res.AddTextPara("needHtml","0")
res.AddTextPara("needAllList","0")
res.AddTextPara("maxResult","20")
res.AddTextPara("id","")
//res.AddFilePara("img", "C:\\Users\\showa\\Desktop\\使用过的\\4.png")//文件上传时设置
fmt.Println(res.Post())
# python3.6.5
# 需要引入requests包 :运行终端->进入python/Scripts ->输入:pip install requests
from ShowapiRequest import ShowapiRequest

r = ShowapiRequest("http://route.showapi.com/109-35","my_appId","my_appSecret" )
r.addBodyPara("channelId", "")
r.addBodyPara("channelName", "")
r.addBodyPara("title", "足球")
r.addBodyPara("page", "1")
r.addBodyPara("needContent", "0")
r.addBodyPara("needHtml", "0")
r.addBodyPara("needAllList", "0")
r.addBodyPara("maxResult", "20")
r.addBodyPara("id", "")
# r.addFilePara("img", r"C:\Users\showa\Desktop\使用过的\4.png") #文件上传时设置
res = r.post()
print(res.text) # 返回信息