`
huangro
  • 浏览: 337862 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

OpenX API的调用

    博客分类:
  • PHP
阅读更多
这两天需要从openx广告系统中获取指定广告的点击量, 将统计数据生成折线图和饼图, 于是乎就去查看了下openx的调用方法, 刚开始并不是很顺利, 连接都没有成功建立. 网上有v1和v2两个api的版本, 第一想法肯定是选择最新的版本.
参考的内容有:
OpenxAPI http://developer.openx.org/api/
OpenxExample https://developer.openx.org/wiki/display/API/Home

基本测试代码如下:
<?php
$config = array(
    'host' => 'localhost',
    'www_path' => '/openx/www',
    'username' => 'admin',
    'password' => '******',
    'file' => '/var/www/openx',
    'xmlRpcDir' => '/openx/www/api/v2/xmlrpc/'
);

$service_url = $config['xmlRpcDir'];

if (!function_exists('xml_rpc_se')) {
    include($config['file'] . '/lib/pear/XML/RPC.php');
}

$debug = true;

function returnXmlRpcResponseData($oResponse) {
    if (!$oResponse->faultCode()) {
        $oVal = $oResponse->value();
        $data = XML_RPC_decode($oVal);
        return $data;
    }   
    else {
        die('Fault Code: ' . $oResponse->faultCode() . "\n" . 'Fault Reason: ' . $oResponse->faultString() . "\n");
    }   
}

$oClient = new XML_RPC_Client($service_url, $config['host']);
$oClient->setdebug($debug);

// Logon
$aParams = array(
    new XML_RPC_Value($config['username'], 'string'), 
    new XML_RPC_Value($config['password'], 'string')
);
$oMessage = new XML_RPC_Message('ox.logon', $aParams);
$oResponse = $oClient->send($oMessage);
if (!$oResponse) {
    die('Communication error: ' . $oClient->errstr);

$sessionId = returnXmlRpcResponseData($oResponse);
echo '*** User logged on with session Id : ' . $sessionId . "<br/>\n";

// Get an advertiser
$aParams = array(
    new XML_RPC_Value($sessionId, 'string'),
    new XML_RPC_Value(1, 'int')
);
$oMessage = new XML_RPC_Message('ox.getAdvertiser', $aParams);
$oResponse = $oClient->send($oMessage);
print_r(returnXmlRpcResponseData($oResponse));

echo "<br/>\n";

// Logoff
$aParams = array(new XML_RPC_Value($sessionId, 'string'));
$oMessage = new XML_RPC_Message('ox.logoff', $aParams);
$oResponse = $oClient->send($oMessage);
echo "*** User with session Id : $sessionId logged off <br/>\n";
分享到:
评论

相关推荐

    openx-apidocs:Slate支持的openx平台的API文档库

    在 API 文档中,JavaScript 可以帮助开发者更好地理解 API 调用的逻辑和流程。 "openx-apidocs-master" 这个压缩包文件名暗示了这是项目的一个版本库,很可能包含了项目的源代码、配置文件和其他必要资源。解压后,...

    OpenXApiClient:OpenX XML-RPC API(v2)客户端PHP5和PSR-0兼容端口。 这是一个正在进行的工作!!!

    使用OpenXApiClient时,首先需要确保你有OpenX服务器的API凭据,然后可以通过实例化客户端对象并调用相应的API方法来执行操作。例如,创建一个新的广告活动可能如下所示: ```php require 'vendor/autoload.php'; /...

    OpenX Android Widget-开源

    2. **配置 OpenX SDK**:注册你的 OpenX 帐户,并获取必要的 API 密钥和其他配置信息。 3. **创建小部件布局**:在你的 XML 布局文件中,定义一个用于显示广告的小部件,并设置相应的 ID 和大小。 4. **初始化与...

    OPEN205R开发板

    同时,库函数和API文档则为开发者提供了函数调用的接口规范,简化了复杂任务的处理过程。在这些资源的帮助下,开发者能够迅速上手开发板,缩短产品从概念到原型的时间。 综上所述,OPEN205R开发板是一个功能强大、...

    C++连接数据库的实例

    主函数首先初始化 COM 库,然后调用 `OpenX()` 函数进行数据库操作,最后释放 COM 资源。 ##### 3.4 数据库操作函数 `OpenX()` ```cpp void OpenX(void) { // Define ADO object pointers. // Initialize ...

Global site tag (gtag.js) - Google Analytics