eBay大中华区API开发者平台 开发者专区

搜 索
首页>API开发者平台>技术文档>Open eBay Apps - 如何使用XML语言来做OpeneBayIdentityProviderService.login请求

技术文档

问题
Open eBay Apps - 如何使用XML语言来做OpeneBayIdentityProviderService.login请求
解答
0
人觉得答案有帮助)

 

详述

  这个简单的例程演示了如何使用PHP来调用OpeneBayIdentityProviderService.login API,以获取EIDP token。此token是调用Open eBay Application Integration Service API时所必需的HTTP报头。

  先决条件:  你需要将某个Open eBay Apps应用成功部署在Sandbox环境或是Production环境下,获取你的Open eBay application key ,设置如Open eBay App users guide中所描述 。

 <?php 

    $endpoint = 'https://svcs.ebay.com/OpeneBayIdentityProviderService';     // URL to call 
    $OPERATION= "login"; 
    $APPID= "";                                                               //INSERT YOUR AppID HERE 
    $DEVID= "";                                                              //INSERT YOUR DevID HERE 
    $CERT= ""                                                                 //INSERT YOUR Cert HERE 
    // specify required HTTP Headers 
    $headers = array( 
       'X-EBAY-SOA-OPERATION-NAME: ' .$OPERATION, 
       'X-EBAY-EIDP-IDENTITY: ' . $APPID, 
       'X-EBAY-SOA-SERVICE-NAME: OpeneBayIdentityProviderService', 
       'CONTENT-TYPE: text/xml', 
    ); 
    
    // build OpeneBayIdentityProviderService.login API request payload 
    $xmlRequest  = '<?xml version="1.0" encoding="utf-8"?>'; 
    $xmlRequest .= '<loginRequest xmlns="http://www.ebay.com/marketplace/services">'; 
    $xmlRequest .= '<attributes>'; 
    $xmlRequest .= '<attribute name="devId">'; 
    $xmlRequest .= '<attributeValue>'; 
    $xmlRequest .= $DEVID; 
    $xmlRequest .= '</attributeValue></attribute></attributes>'; 
    $xmlRequest .= '<credential appId="'; 
    $xmlRequest .= $APPID; 
    $xmlRequest .= '">'; 
    $xmlRequest .= '<certId>'; 
    $xmlRequest .= $CERT; 
    $xmlRequest .= '</certId></credential></loginRequest>'; 
    $session  = curl_init($endpoint);                        
     
    // create a curl session 
    curl_setopt($session, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($session, CURLOPT_POST, true);                            // POST request type 
    curl_setopt($session, CURLOPT_POSTFIELDS, $xmlRequest);   // set the body  
    curl_setopt($session, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($session, CURLOPT_HEADER, true);                       // display headers 
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);     
       
    echo " "; 
    echo $xmlRequest;                                                                  // log the request payload 
    echo " "; 
    $responseXML= curl_exec($session); 
    curl_close($session); 

    if ($responseXML) { 
       echo $responseXML;                                                          // log the response payload 
    } 

?>

 


答案对您有帮助吗?

是,对我很有帮助
否,没解决我的问题