首页>建站相关>京东联盟自动转链接测试代码,需求账户权限

京东联盟自动转链接测试代码,需求账户权限

下载sdk测试了半天,结果发现许多接口需要申请权限,要么就是没有流量,于是就作罢了,保留一段测试用程序备用吧。

<?php
// 京东联盟API配置
date_default_timezone_set("PRC");
$appKey = '';
$appSecret = '';
$siteId = '';
$skuId = '';

// 生成推广链接
function generateJdPromotionLink($skuId, $appKey, $appSecret, $siteId) {
    $method = 'jd.union.open.goods.promotiongoodsinfo.query';
    $timestamp = date('Y-m-d H:i:s');
    $v = '1.0';
    $signMethod = 'md5';

    // 请求参数
    $params = [
        'method' => $method,
        'app_key' => $appKey,
        'timestamp' => $timestamp,
        'v' => $v,
        'sign_method' => $signMethod,
        'param_json' => json_encode([
            'skuIds' => $skuId,
            'siteId' => $siteId,
        ]),
    ];

    // 生成签名
    ksort($params);
    $signString = $appSecret;
    foreach ($params as $key => $value) {
        $signString .= $key . $value;
    }
    $signString .= $appSecret;
    $sign = strtoupper(md5($signString));

    // 添加签名到参数
    $params['sign'] = $sign;

    // 请求API
    $apiUrl = 'https://api.jd.com/routerjson';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 忽略SSL证书验证
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 忽略SSL主机验证
    $response = curl_exec($ch);

    if (curl_errno($ch)) {
        die("API请求失败: " . curl_error($ch));
    }
    curl_close($ch);

    // 解析结果
    $result = json_decode($response, true);

    // 调试信息
    echo "<pre>";
    print_r($result);
    echo "</pre>";

    // 检查结果
    if (isset($result['jd_union_open_goods_promotiongoodsinfo_query_responce']['result'])) {
        $promotionInfo = json_decode($result['jd_union_open_goods_promotiongoodsinfo_query_responce']['result'], true);
        if ($promotionInfo['code'] == 200 && !empty($promotionInfo['data']['promotionInfo']['promotionUrl'])) {
            return $promotionInfo['data']['promotionInfo']['promotionUrl'];
        } else {
            die("API返回错误: " . $promotionInfo['message']);
        }
    } else {
        die("API返回结果格式不正确");
    }
}

// 生成推广链接
$promotionUrl = generateJdPromotionLink($skuId, $appKey, $appSecret, $siteId);

if ($promotionUrl) {
    echo "推广链接: " . $promotionUrl;
} else {
    echo "生成推广链接失败";
}
?>

标签: PHP

移动端可扫我直达哦~

推荐阅读

php 2025-03-09

京东联盟京粉接口测试程序

同样需要申请权限后访问,不然每日限额为0次,也可能是博主账户的原因,本想测试一下在主题做一个商品模块自动更新信息,暂时搁置吧 -_-~频道信息频道ID:1-好券商品, 2-精选卖场, 10-9.9包邮,15-京东配送, 22-实时热销...

建站相关 PHP

php 2025-03-08

关于jos-open-api-sdk的UnionOpenPromotionCommonGetRequest请求

尝试使用api自动转链失败,记录一下试错的过程,这个sdk的说明文档对于新手极其不友好,连sdk里的测试用例都报错。sdk用了lotus框架来管理依赖。博主安装并引入文件后很多案例多少有几个类不能正确被加载,最终是直接找到该类手动引入...

建站相关 PHP

php 2025-03-07

php中string字符串的拆分

想拆分一段由 1 和 0 组成的字符串, 作为一个条件判断的依据, 1 代表启用选项, 而 0 则代表取消该选项, 首当其冲的, 自然是先把字符串给拆分开来。循环取余可以利用循环取余依次加入数组;$num = 1234567; $re...

建站相关 PHP

php 2024-04-24

Php中数组array的定义增删等相关操作

PHP 中的 array 实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型针对多种不同用途进行了优化; 它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列等等。 由于 arr...

建站相关 PHP

php 2024-04-20

php利用SimpleXML模块解析xml文件

本来想用一个xml文件来获取不断更新的数据,接触这个模块后,发现似乎不能在顶部插入节点,比如有个channel节点,插入子节点始终只能从底部插入,但博主又希望新的内容在channel节点的头部。每次重新装配节点似乎过于复杂,考虑利用j...

建站相关 PHP

php 2024-04-19

php获取远程xml文件并保存到本地

“自从联盟和部落并肩作战,共同抵抗燃烧军团的入侵已经过去了四年。”…错了,自从上次利用rm -rf清洗掉:“虾比比”站点的数据,已经过去了两年。曾经利用php获取远程文件并保存到本地的知识如同部落和联盟之间脆弱的协议,早已荡然无存。倒...

建站相关 PHP

php 2023-10-27

为博客文章添加是否已被百度收录的提示信息

部分主题里在文章的标题栏下方会显示一些文章的相关信息,比如目录啊,作者啊,文章的发布日期等等。其中也有包含文章是否被百度收录的,本身“小鸟数据”这个站点配置了“sitemap.xml”,也提交了百度,是否收录就我为鱼肉了。但是偶尔还是...

建站相关 PHP

php 2023-05-03

php中的替代语法switch的冒号写法

最早接触php语句,是尝试查看wordpress模板的源代码。所以相比常规的大括号写法,更为熟悉的反而是这类带冒号的写法。真正尝试过修改模板之后,会真切体会到这种书写方式的便利。它使得HTML和PHP混合页面代码更加干净整齐,也使代码...

建站相关 PHP

php 2022-10-25

php该用什么命令打印数组

对于wordpress的命令不熟悉,echo打印值的时候经常返回一个array对象。如果不知道array的内部结构,提取具体数据就无从下手,所以有时候我们会想要打印出数组的所有内容,以观察该数组的数据结构。php中有两个命令可以在屏幕...

建站相关 PHP

php 2022-10-22

php在线解压解决免费空间压缩包过大问题

用过一段国外的免费空间,一般都是白天访问速度凑合,一到晚上半天打不开后台页面,前台还是可以访问的,也就比白天慢几条街。因为白天要上班,所以一般博主也就晚上打开站点学习一下建站呀修改主题呀之类的操作,由于正常使用时间段完美被错开,所以最...

建站相关 PHP

php 2022-10-22

php中的单引号和双引号

解析变量上的区别PHP会解析双引号中的变量,而不会解析单引号中的变量。也就是说,如果使用单引号定义的字符串中出现变量,在输出时变量会被原样输出,不会解析成变量的值。而如果使用双引号定义的字符串中存在变量,在输出时变量会被解析为具体的值...

建站相关 PHP

php 2022-10-21

后台php如何与前端js进行数据交换

想用js获取wordpress的options中的部分数据,查询到几种数据交换的方法,先做个记录,后续补完。同页面内的数据交换需要获取的是json数据,直接用php在页面中echo变量,页面上的js可以直接使用options变量,很方...

建站相关 PHP