天天看點

tp5 對接萬維易源ISBN接口

首先購買萬維易源的一進制套餐

tp5 對接萬維易源ISBN接口

下面都有詳細的說明

接口傳回的資料格式是

{
  "showapi_res_error": "",
  "showapi_res_code": 0,
  "showapi_res_id": "",
  "showapi_res_body": {
    "datas": [
      {
        "series": "",
        "edition": "1版",
        "yinci": "1",
        "subject": "",
        "paper": "膠版紙",
        "wordnum": "218000",
        "img": "https://img.maimiaobook.com/cover/A26GR93187.jpg?x-oss-process=style/yuantu",
        "bookcatalog": "第一章 回答在牛奶箱裡 \\n第二章 深夜的口琴聲 \\n第三章 在思域車上等到天亮 \\n第四章 聽着披頭士默禱 \\n第五章 來自天上的祈禱",
        "gist": "現代人内心流失的東西,這家雜貨店能幫你找回僻靜的街道旁有一家雜貨店,隻要寫下煩惱投進卷簾門的投信口,第二天就會在店後的牛奶箱裡得到回答。因男友身患絕症,年輕女孩靜子在愛情與夢想間徘徊;克郎為了音樂夢想離家漂泊,卻在現實中寸步難行;少年浩介面臨家庭巨變,掙紮在親情與未來的迷茫中他們将困惑寫成信投進雜貨店,随即奇妙的事情竟不斷發生。生命中的一次偶然交會,将如何演繹出截然不同的人生?如今回顧寫作過程,我發現自己始終在思考一個問題:站在人生的岔路口,人究竟應該怎麼做?我希望讀者能在掩卷時喃喃自語:我從未讀過這樣的小說。東野圭吾",
        "publisher": "南海出版社",
        "annotation": "",
        "author": "(日) 東野圭吾著 ; 李盈春譯",
        "title": "解憂雜貨店",
        "isbn10": "7544270874",
        "page": "291",
        "page_format": "",
        "isbn": "9787544270878",
        "publisher_pubdate": "",
        "title_author": "",
        "smallimg": "https://img.maimiaobook.com/cover/A26GR93187.jpg?x-oss-process=style/suolvetu",
        "pubdate": "2014-05-01",
        "keyword": "|[日]東野圭吾|暢銷小說前20榜單|長篇小說|日本|現代",
        "levelnum": "8.5",
        "format": "32開",
        "genus": "I313.45",
        "heatnum": 3833808,
        "price": 39.5,
        "batch": "",
        "pubplace": "海口",
        "binding": "平裝",
        "language": "簡體中文",
        "produce": "",
        "ciptxt": "解憂雜貨店 / (日) 東野圭吾著 ; 李盈春譯. -- 海 口 : 南海出版公司, 2014.5      ISBN 978-7-5442-7087-8       Ⅰ. ①解… Ⅱ. ①東… ②李… Ⅲ. ①長篇小說-日 本-現代 Ⅳ. ①I313.45       中國版本圖書館CIP資料核字(2014)第061528号"
      }
    ],
    "ret_code": 0,
    "remark": "success",
    "showapi_fee_code": 0
  }
}
           

tp 對接

$showapi_appid=Env::get('isbn.showapi_appid');//替換此值,你可以在這裡找到 https://www.showapi.com/console#/myApp
        $showapi_sign=Env::get('isbn.secret');//替換此值,你可以在這裡找到 https://www.showapi.com/console#/myApp
        $url = "http://route.showapi.com/2218-1";
        $res=$this->httpCurl($url,['showapi_appid'=>$showapi_appid,'showapi_sign'=>$showapi_sign,'isbn'=>$isbn],'GET');
        $res=json_decode($res,true);
        if($res['showapi_res_body']['ret_code']!=0){
            $this->error('未查到相關書籍');
        }
        $res=$res['showapi_res_body']['datas'][0]; //書籍的詳細書籍
           
public  function httpCurl($url, $params, $method = 'POST', $header = array(), $multi = false)
    {

        date_default_timezone_set('PRC');
        $opts = array(
            CURLOPT_TIMEOUT => 30,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
            CURLOPT_HTTPHEADER => $header,
            CURLOPT_COOKIESESSION => true,
            CURLOPT_FOLLOWLOCATION => 1,
            CURLOPT_COOKIE => session_name() . '=' . session_id(),
        );
        /* 根據請求類型設定特定參數 */
        switch (strtoupper($method)) {
            case 'GET':
                // 連結後拼接參數  &  非?
                $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
                break;
            case 'POST':
                //判斷是否傳輸檔案
                $params = $multi ? $params : http_build_query($params);
                $opts[CURLOPT_URL] = $url;
                $opts[CURLOPT_POST] = 1;
                $opts[CURLOPT_POSTFIELDS] = $params;
                break;
            default:
                throw new Exception('不支援的請求方式!');
        }

        /* 初始化并執行curl請求 */
        $ch = curl_init();
        curl_setopt_array($ch, $opts);
        $data = curl_exec($ch);
        $error = curl_error($ch);
        curl_close($ch);
        if ($error) throw new Exception('請求發生錯誤:' . $error);
        return $data;
    }
           
下一篇: jcifs