iT邦幫忙

3

[鷹享]eBay APIs入門

前言
API是個類似介面的東西,它提供一個窗口讓大家去做eBay的操作,這邊打個比方。

一個人去銀行(API)要選擇你要做什麼事情,去相關的櫃檯(窗口)去處理,櫃檯會詢問你要做什麼事情,並且驗證你的身分(Token),你只需要把你的需求(參數),還有要做什麼事情(呼叫哪個服務),他就會幫你去做操作,譬如你要查詢你的帳戶餘額,那麼可能需要驗證你的身分,他會跟你說(回傳)你餘額多少錢,API的概念差不多是這樣,不過這是指WEB APIs(網站應用程式)。
工具與環境
目前使用PHP&MySQL(WAMP)&PHP5_SimpleTrading來作開發。

申請eBay開發者帳號
申請網址:https://go.developer.ebay.com/

申請好後,登入進去,然後幫使用者申請帳號,
並且綁定開發者帳號綁定網址:http://sandbox.ebay.com/

會看到這個頁面

然後輸入eBay帳號密碼,如果第一次可能需要語音驗證,eBay那邊會用程式打電話過來,會唸一串數字記得記錄下來,才能來做綁定動作,並且獲取到Token。

實戰篇

Key.php 設定

<?php
    error_reporting(E_ALL);

    // these keys can be obtained by registering at http://developer.ebay.com
    
    $production         = TRUE;   // toggle to true if going against production
    $compatabilityLevel = 890;    // eBay API version
    
    if ($production) {
        $devID = 'my dev';   // these prod keys are different from sandbox keys
        $appID = 'my app';
        $certID = 'certID';
        //set the Server to use (Sandbox or Production)
        $serverUrl = 'https://api.ebay.com/ws/api.dll';      // server URL different for prod and sandbox
        //the token representing the eBay user to assign the call with
        $userToken = '';          
    } else {  
        // sandbox (test) environment
        $devID = 'DDD_SAND';         // insert your devID for sandbox
        $appID = 'AAA_SAND';   // different from prod keys
        $certID = 'CCC_SAND';  // need three 'keys' and one token
        //set the Server to use (Sandbox or Production)
        $serverUrl = 'https://api.sandbox.ebay.com/ws/api.dll';
        // the token representing the eBay user to assign the call with
        // this token is a long string - don't insert new lines - different from prod token
        $userToken = 'SANDBOX_TOKEN';                 
    }        
?>

範例一(取得ebay時間)

<?php

require_once('keys.php');
require_once('eBaySession.php');

//SiteID must also be set in the Request's XML
//SiteID = 0  (US) - UK = 3, Canada = 2, Australia = 15, ....
//SiteID Indicates the eBay site to associate the call with

$siteID = 0;

//the call being made:
$verb = 'GeteBayOfficialTime';
//Level / amount of data for the call to return (default = 0)
$detailLevel = 0;


///Build the request Xml string
$requestXmlBody = <<<XML
<?xml version="1.0" encoding="utf-8" ?>
<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>$userToken</eBayAuthToken>
</RequesterCredentials> 
</GeteBayOfficialTimeRequest>
XML;

//Create a new eBay session with all details pulled in from included keys.php
$session = new eBaySession($userToken, $devID, $appID, $certID, $serverUrl, $compatabilityLevel, $siteID, $verb);

//send the request and get response
$responseXml = $session->sendHttpRequest($requestXmlBody);
if (stristr($responseXml, 'HTTP 404') || $responseXml == ''):
    die('<P>Error sending request');
endif;

$xml = simplexml_load_string($responseXml);
$json = json_encode($xml);
$array = json_decode($json, TRUE);
var_dump($array);

結語
多參考一下官方的範例去寫,最主要要了解參數的意義,還有就是獲取回傳的值,把資料放入到自己的資料庫,在去做篩選動作,或者去做其他操作,多嘗試多看文件,預祝大家系統成功!

參考資料
eBay api文件
http://developer.ebay.com/Devzone/xml/docs/Reference/ebay/index.html

作者資料
暱稱:蒼鴻、老鷹、eagle
QQ號 : 1486394478
Skype : chingfeng18@hotmail.com
Mail:
chingfeng18@hotmail.com
chingfeng18@gmail.com


2 則留言

0
賽門
iT邦超人 1 級 ‧ 2015-05-04 11:43:37

chingfeng提到:
一個人去銀行要做什麼事情?

這是搶刧....來, 把錢裝這個袋子....偷笑

銀行有這個應用程式喔!汗
他會先按個按鈕在傳回....yes!偷笑

0
鐵殼心
iT邦高手 1 級 ‧ 2015-05-04 13:39:13

chingfeng提到:
一個人去銀行 你要做什麼事情

不是應該問櫃台美眉 妳幾點下班嗎?開心

看更多先前的回應...收起先前的回應...
一尾 iT邦研究生 1 級 ‧ 2015-05-04 14:23:58 檢舉

iT邦幫忙MVPtecksin提到:
櫃台美眉

確定櫃台不是阿姨嗎
XD

確定櫃台不是阿姨嗎

以老鷹多年經驗!
櫃檯是美眉機率有80%臉紅

賽門 iT邦超人 1 級 ‧ 2015-05-04 17:28:07 檢舉

chingfeng提到:
櫃檯是美眉機率有80%

雖然80%美眉櫃檯,20%阿姨櫃檯。
根據80-20法則。
老鷹有20%的機率能遇到美眉櫃檯,有80%的機率遇到阿姨櫃檯。

總裁 iT邦好手 1 級 ‧ 2015-05-04 22:16:06 檢舉

豹子...通殺...哈哈

cdfu提到:
豹子...通殺...

原來豹子比老鷹厲害筆記
老鷹只能吃80%的美眉臉紅

鐵殼心 iT邦高手 1 級 ‧ 2015-05-05 09:42:07 檢舉

cdfu提到:
豹子...通殺...

所以總裁是帶整間櫃台美眉一起出去玩團康活動嗎?噴鼻血

CalvinKuo iT邦大師 7 級 ‧ 2015-05-05 10:07:23 檢舉

tecksin提到:
所以總裁是帶整間櫃台美眉

鐵大,像這樣打包嗎?

圖片來源

CalvinKuo iT邦大師 7 級 ‧ 2015-05-07 14:04:48 檢舉

現在沒有妹,只有羊咩咩了...

圖片來源

我要留言

立即登入留言