好友动态发布开发文档

好友动态发布简介

好友动态发布部件可以让用户将你网站上的结构化信息便捷地分享给开心网好友。无论是商品、餐馆或影评,都可以按一定格式分享,分享的内容将通过开心网好友动态传播给用户的好友们,好友们看到分享内容后,可以继续转发给他们的好友。通过好友动态发布部件你可以:

申请流程

此功能需要申请,开发完毕提交审核,审核通过才能正式上线。

如果您之前申请过该功能,点击这里查看详情。

开发说明

下面以某电子商务网站的“温暖时光格子衬衫情侣款(女款) 蓝色方格”为例,说明“好友动态发布”的开发流程。本例中Text Type=251、Site ID=”100006”、Feed Key=” sdfsdfwer12wersdfsdf2342sdf”,在你开发时,请务必替换成你申请到的Text Type、Site ID和Feed Key。

接口参数说明

开心网可接受如下参数:

1. 系统参数

参数说明
id你在开心网申请时获得的Site ID
v开心网接口版本号,目前是1
beta在你的分享程序没通过审核之前,这个参数是1,通过后应改为0
type动态转发数据的排版样式,目前只有一种:1
time生成签名的Unix 时间戳,从格林威治时间1970年01月01日00时00分00秒起
至现在的总秒数,例如 1270801167,用于判断签名是否有效

2. 产品参数

参数是否必填说明
iidFALSE商品在合作网站的ID
titleTRUE商品名称
picTRUE商品图片url,只支持gif/jpg/png格式
valueFALSE如:商品价格、折扣等
linkOPTIONAL商品所在页的url,www版必需,wap版非必需
waplinkOPTIONAL商品所在页的wap版url,www版非必需,wap版必需
texttypeTRUE所申请系列的编号

生成参数

准备数据数组,数组内排序,base64编码,生成签名,生成最终参数。

1. 准备数据

PHP实现:

$id = "100006";
$v = 1;
$beta = 1;
$type = 1;
$texttype = 251;
$feedkey= "sdfsdfwer12wersdfsdf2342sdf";
$time = time();
$iid = '123asd';
$title = "温暖时光格子衬衫情侣款(女款) 蓝色方格";
$pic = "http://images.abc.com/product/0/0/0/0002291/small/2010_1_12_13_26_34_437.jpg";
$link = "http://www.abc.com/Product_0002291/WenNuanShiGuangGeZiChenShanQingLvKuan%EF%BC%88NvKuan%EF%BC%89+LanSeFangGe.html";
$value = 149;
$parmas = array(
    'v' => $v,
    'type' => $type,
    'time' => $time,
    'iid' => $iid,
'title' => $title,
'texttype' => $texttype,
    'pic' => $pic,
    'value' => $value,
    'link' => $link,

2. 对以上数据的变量名(key)按照字母排序(顺序)

PHP实现:

ksort($parmas);

3. 对每一个变量名,变量值进行base64编码,并把其中的“+”替换成“*”,“/”替换成“-”,去掉其中的“=”,再用下划线连接组合成参数串(key1=vi_key2=v2_key3=v3)

PHP实现:

$search = array ('+', '/', '=');
$replace = array ('*', '-', '');
$paramstr = '';
foreach ($parmas as $key => $value) {
$key = str_replace( $search, $replace, base64_encode($key) );
$value = str_replace( $search, $replace, base64_encode($value) );
$paramstr .= $key.'='.$value.'_';}
$paramstr = trim($paramstr, '_');

4. 生成签名(应为小写字符)

把以上参数串和开心网为你生成的Feed Key用下划线连接,并用MD5(32位)加密

PHP实现:

$sign = md5($paramstr.'_'.$feedKey);

5. 生成最终参数

把签名、id和参数字符串用下划线组合,生成最终参数。形式为:签名_id_beta状态_参数串。

最后组合参数是:签名_id_beta状态_参数串,其中参数串是经过base64编码并替换了字符的,不是原始字符串。

PHP实现:

$paramstr = $sign.'_'.$id.'_'.$beta.'_'.$paramstr;

数据发送接口

将加密签名后的参数发送到开心网的数据接口,程序开发即可完成。

1. 在页面上加入JS代码和分享链接 将以上最终参数作为参数,请求url:http://www.kaixin001.com/rshare/share.php?rpara=xxxx
例:<a target=“_blank” href=“http://www.kaixin001.com/rshare/share.php?rpara=<?php echo $paramstr ?>”>分享到开心网</a>

2. WAP数据接口 将以上最终参数作为参数,请求URL:http://wap.kaixin001.com/rshare/share.php?rpara=xxxx
例:<a href=“http://wap.kaixin001.com/rshare/share.php?rpara=<?php echo $paramstr ?>”>分享到开心网</a>

PHP实例

这是一个完整的PHP实例,你可以参考此实例制作测试页面,并提交审核。

<?php
$id = "100006";
$v = 1;
$beta = 1;
$type = 1;
$texttype = 251;
$feedkey = "sdfsdfwer12wersdfsdf2342sdf";
$time = time();
$iid = '123asd';
$title = "温暖时光格子衬衫情侣款(女款) 蓝色方格";
$pic = "http://images.abc.com/product/0/0/0/0002291/small/2010_1_12_13_26_34_437.jpg";
$link = "http://www.abc.com/Product_0002291/WenNuanShiGuangGeZiChenShanQingLvKuan%EF%BC%88NvKuan%EF%BC%89+LanSeFangGe.html";
$value = 149;
$parmas = array(
    'v' => $v,
    'type' => $type,
    'time' => $time,
    'iid' => $iid,
    'title' => $title,
    'pic' => $pic,
    'value' => $value,
'link' => $link,
'waplink' => $link,
'texttype' => $texttype,
);
ksort($parmas);
$search = array ('+', '/', '=');
$replace = array ('*', '-', '');
$paramstr = '';
foreach ($parmas as $key => $value) {
	$key = str_replace( $search, $replace, base64_encode($key) );
	$value = str_replace( $search, $replace, base64_encode($value) );
	$paramstr .= $key.'='.$value.'_';
}
$paramstr = trim($paramstr, '_');
$sign = md5($paramstr.'_'.$feedkey);
$paramstr = $sign.'_'.$id.'_'.$beta.'_'.$paramstr;
?>
<a target="_blank" href="http://www.kaixin001.com/rshare/share.php?rpara=<?php echo $paramstr ?>">分享到开心网</a>
<a href="http://wap.kaixin001.com/rshare/share.php?rpara=<?php echo $paramstr ?>">分享到开心网</a>

错误代码

错误代码 说明
1 签名错误。请检查MD5加密是否是32位并且全是小写字母
3 版本号错误。请检查版本号参数是否正确
4 转发样式错误。请检查type参数
5 时间错误。请检查生成签名以及链接的时间是否在2小时内
6 缺少rpara参数。请检查是否正确的传递了参数
7 id错误。请检查Site ID有没有写错
8 uid错误。请检查所使用的账号是否是测试账号
9 文案代码错误。请检查文案编号( Text Type)是否正确
10 title为空
11 link为空
12 pic为空
14 该通过审核网站ID不存在。请确定该网站的好友动态发布功能是否通过审核。
如通过审核,beta参数应该为0
15 该测试网站ID不存在。请确定该网站的好友动态发布功能是否为测试状态
(即申请中或等待审核状态)。如果是测试状态,beta参数应该为1

典型案例

点击上面的分享按钮(鼠标箭头旁边红色框中的按钮),出现如下界面:

输入关于此商品的一些话,点“分享”按钮,即可将此商品信息发布到开心网好友动态中。

实例:可以在淘宝网商品具体页面试用此功能