图书电商数据
聚合数据 官方文档
于万千之中选择你所爱--好书推荐,值得你信赖
基本说明:
接口地址:http://apis.juhe.cn/goodbook/query
返回格式:json/xml
请求方式:get
请求示例:http://apis.juhe.cn/goodbook/catalog?key=你申请的key&dtype=json
请求参数说明:
名称 类型 必填 说明
key string 必填 应用APPKEY,申请数据系统分配 扫码关注公众号
catalog_id int 必填 目录编号(242:中国文学,243:外国文学,244:儿童文学,245:散文,246:经典名著,247:小说,248:历史,249:教育,250:成功励志,251:心灵鸡汤,252:人物传记,253:心理学,254:管理,255:经济,256:理财,257:哲学,258:计算机)
pn int 必填 数据返回起始
rn int 必填 数据返回条数,最大30
dtype string 选填 返回数据的格式,xml或json,默认json
返回参数说明:
名称 类型 说明
error_code int 返回码
reason string 返回说明
data - 返回结果集
title string 书名
catalog string 分类
tags string 标签
sub1 string 书名简介
sub2 string 图书内容简介
img string 图书封面
reading string 阅读人数
online string 网购地址
bytime string 发布时间
totalNum int 总量
pn int 返回起始
rn int 返回数量
JSON返回示例:
{
	"resultcode": "200",
	"reason": "Success",
	"result": {
		"data": [{
			"title": "向诸葛亮借智慧",
			"catalog": "历史 心理学 管理 ",
			"tags": "一本好书 三国历史 社会学好书推荐 管理书籍推荐 诸葛亮 ",
			"sub1": "《向诸葛亮借智慧》",
			"sub2": "《向诸葛亮借智慧》是中央电视台《百家讲坛》主讲人赵玉平老师编著的一 本管理学类图书。作品从管理学和心理学的角度出发,运用人力资源管理和组织行为学的知识,解读了三国睿智军师诸葛亮的一生。本书对三顾茅庐、舌战群儒、赤壁大战、空城计、斩马谡、六出祁山、七擒孟获等与诸葛亮相关的大事件进行了精辟的分析。 诸葛亮(公元181年7月23日—234年8月28日),三国时期蜀国丞相,字孔明,号卧龙,琅琊阳都人,是三国时期杰出的政治家、军事家、发明家和文学家。诸葛亮上知天文、下知地理,雄才大略、才华横溢。为匡扶蜀汉政权,他呕心沥血,鞠躬尽瘁,死而后已。唐朝诗人杜甫有诗赞道:“三顾频烦天下计,两朝开济老臣心。出师未捷身先死,长使英雄泪满襟。”,可见诸葛亮受到后世人们极大的尊崇,是后世忠臣的楷模、智慧的化身。 《向诸葛亮借智慧》一书是管理学教授赵玉平“麻辣说三国”系列中的一部文学作品。赵玉平老师同易中天教授一起被权威机构评选为“2009中国十大国学专家”,是运用管理学、国学、心理学综合解析《水浒传》、三国历史人物的中国第一人,开辟了运用管理学和心理学解读传统经典的新领域。 隆中对策、舌战群儒、草船借箭、七擒孟获……一个个璀璨如明珠的经典故事,成就了诸葛亮无人企及的智慧传奇。但是,孔明先生的智慧究竟从何而来呢?在千百年后的今天,他的卓越智慧又能给今天的我们带来哪些启迪和帮助呢?《向诸葛亮借智慧》一书从一个崭新的角度观察诸葛亮这个重要的历史人物和相关的历史事件,讲故事的同时也分析规律,并结合当今现实生活,古为今用,总结出能够运用于求职、求人、用人、管人等现实生活中的规律和技巧。 鲁迅说:“关公之义近乎伪,诸葛之智近乎妖。” 《向诸葛亮借智慧》,哪怕只借到了一点点,也足够让我们的生活过得更轻松、更顺心了。 《向诸葛亮借智慧》",
			"img": "http://apis.juhe.cn/goodbook/img/379cdafe13f92d62e99388182a6d08ec.jpg",
			"reading": "8091人阅读",
			"online": "京东商城:http://book.jd.com/10483893.html 当当网:http://product.dangdang.com/product.aspx?product_id=21020821 苏宁易购:http://www.suning.com/emall/prd_10052_22001_-7_1006212_.html ",
			"bytime": "2013年4月28日"
		}],
		"totalNum": "9",
		"pn": 0,
		"rn": "1"
	}
}
服务级错误码参照
错误码 说明
205001 图书类目为空
205002 图书类目ID不能为空
205003 查询不到结果
10001 错误的请求KEY
10002 该KEY无请求权限
10003 KEY过期
10004 错误的OPENID
10005 应用未审核超时,请提交认证
10007 未知的请求源
10008 被禁止的IP
10009 被禁止的KEY
10011 当前IP请求超过限制
10012 请求超过次数限制
10013 测试KEY超过请求限制
10014 系统内部异常(调用充值类业务时,请务必联系客服或通过订单查询接口检测订单,避免造成损失)
10020 接口维护
10021 接口停用
完整教学代码示例
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/3/15 17:50
 */
//----------------------------------
// 聚合 图书内容 调用类
//----------------------------------
class freeApi{
    private $apiKey = false; //聚合appkey
    private $apiUrl = 'http://apis.juhe.cn/goodbook/query';
    public function __construct($apikey){
        $this->apiKey = $apikey;
    }
    /**
     * 将JSON内容转为数据,并返回
     * @param string $content [内容]
     * @return array
     */
    public function returnArray($content){
        return json_decode($content,true);
    }
    /**
     * 获取 图书内容 结果
     * @return array
     */
    public function getResult(){
        $params = [
            "key" => $this->apiKey,//应用APPKEY(应用详细页查询)
            "catalog_id" => "",//目录编号
            "pn" => "",//数据返回起始
            "rn" => "",//数据返回条数,最大30
            "dtype" => "",//返回数据的格式,xml或json,默认json
        ];
        $params = http_build_query($params);
        return $this->returnArray($this->freeApiCurl($this->apiUrl,$params,1));
    }
    /**
     * 请求接口返回内容
     * @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;
    }
}