`
邱铁军
  • 浏览: 44021 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

SNS 游戏接口数据说明

阅读更多
1:获取SessionKey
   1)什么是SessionKey?
       sessionKey是开心网用户登录会话的标识代码,用户登录开心网后会产生一个SessionKey。通过SessionKey,我们可以知道当前登录用户的信息,然后调用Rest接口。
   2)如何获取SessionKey
       用户在开心网平台方位第三方组件的时候,首先会访问第三方组件首页URL(申请组件时填写的地址)。开心网平台会用GET方式把当前用户SessionKey传递给第三方组件首页URL。
     需要注意的是:只有用户做开心网平台访问第三方组件首页时才会传递SessionKey,如果用户停留在第三方组件某个页面时间过长,开发者在首页拿到SessionKey后,需自己临时保存SessionKey,以保证在组件的的其他页面也能获得SessionKey。

   3)验证SessionKey
        以获取的SessionKey可以通过以下方式验证是否为开心网发出的(此验证非必需);将获取的SessionKey和组件secret_key用下划线链接,进行MD5加密,验证生产的字符串与获取的SIGN参数是否一致。
       参考代码:
      $secret="XXXXXXXXXXXXX";
     $localsig=md5($_GET['session_key'].'_'.$secret);
     if($localsig==$_GET['sig']){
         正确
     }
2.如何使用REST接口。
  1)关于Rest接口
       目前REST接口从用户使用方式上可分为两种类型:-交互式接口;二直接请求式接口。交互式接口的特点:使用交互式接口会在页面中弹出交互界面。这些界面都是开心网REST接口提供的。样式功能相对直接请求式接口的特点:开发者向接口发送一定格式的请求数据,然后接口返回结果。调用REST接口都需要使用调用参数和验证字符串SIG,具体参数需要参考者每个接口的使用说明。
     验证字符串sig生成方式:
     将所有参数进行排序,排序为字母顺序;
     将排序好的参数拼接成字符串例如:k1=v1,k2=v2,k3=v3 拼接得到的字符串为 k1=v1k2=v2k3=v3在上述转换后的串末尾追加上组件的secret_k用MD5算出上述串的MD5值,结果即为sig。代码实现
ksort($param);
$request_str = '';
foreach ($param as $key => $value)
{
$request_str .= $key . '=' . $value;
}
$sig = $request_str . $this->secret;
$sig = md5($sig);
示例代码中KxPlatform_Api::buildQuery方法封装了获得sig的过程,并将sig加入到提交参数中。
2) 调用REST接口
交互式接口:
a.首先要把调用参数和验证字符串通过base64加密得到加密后的加密调用字符串。
参考示例代码中的
$query = $kxplatform_api->buildQuery($param);
$query = KxPlatform_Utils::url_base64_encode($query);
b.页面前端使用JavaScript请求接口
参考示例代码

//para 为上步得到的加密调用字符串
function showKxDialog(para)
{
var t = document.createElement("div");
t.innerHTML = '<iframe src="http://www.kaixin001.com/rest/rest.php?para='+para+'" scrolling="yes" height="0px"  width="0px" style="display:none"></iframe>';
document.body.appendChild(t.firstChild);
}
注意:必需用GET方式传递para参数,否者返回结果显示1011错误。
直接请求式接口:
a.获得调用参数和验证字符串
参考示例代码中的
$query = $kxplatform_api->buildQuery($param);
b.将上步中的参数POST提交给接口
参考示例代码中的
$result = KxPlatform_WebRequest::postRequest($kxplatform_config['actionsurl'], $query);
c.得到接口返回结果$result
注意:目前返回结果只支持JSON格式。


3.关于回调地址:
      有些接口,做用户操作后,会将结果通知第三方组件。第三方组件需要提供一个回调地址来接受接口的回调参数。回调参数用GET凡是传递给回调地址。回调参数中的sig参数用来验证这次回调是否由开心网发来的。验证sig的方法擦门口示例代码.
$queryStr = $_SERVER['QUERY_STRING'];
$checkSign = $kxplatform_api->checkSignFromQuery($queryStr);
注意:回调地址中的sig和调用接口参数中的sig意义不同,没有任何联系
分享到:
评论

相关推荐

    Discuz程序说明文档

    该文件用于提供各种API接口,包括但不限于数据交换、第三方应用集成等功能,支持JSON、XML等多种数据格式。 ##### 3. 分类入口(category.php) 负责处理网站中的分类请求,如论坛分类、文章分类等,是构建网站内容...

    Discuz X1.5的程序目录,文件列表,模板制作,文件结构说明

    X1.5 是一个功能强大的社区建站平台,集成了论坛(BBS)、社交网络(SNS)、门户(Portal)和群组(Group)等多种功能,旨在为用户提供一站式的社区服务体验。在Discuz! X1.5版本中,对文件结构进行了大幅调整,以...

    ThinkSNS1.6二次开发指南

    **设计思路**:强调SNS的核心价值在于促进用户间的交流,而非仅仅局限于娱乐性质的游戏应用。希望通过构建一个强大的内核框架,提供丰富的API接口,使开发者能够轻松地开发新组件,满足多样化的社交需求。 **设计...

    Discuz_X3.0

    X3.0支持与其他网站或应用的无缝对接,例如通过API接口实现SNS整合,增加社区的活跃度和吸引力。 二、关键文件结构解析 1. **upload**:此目录包含了Discuz! X3.0的所有程序文件,包括模板、插件、图片资源等。...

    三星手机开发

    在娱乐功能方面,Galaxy S2支持多种格式的视频和音频播放,内置FM收音机,支持Flash Player 10.1,内置游戏并支持下载,同时还预装了SNS社交应用、即时通讯软件等,提供了丰富的娱乐和社交体验。 #### 六、数据连接...

    91开发平台手册

    - NdComPlatform_SNS_Resources资源改为了bundle形式。 - 整理了SDK开发环境搭建说明。 - **3.2.2版本**: - 增加了软件互推界面展示的接口。 - 更新了文档的目录结构。 #### 三、SDK开发环境搭建 1. **工程...

    作业_亚马逊

    这可能涵盖了诸如Web服务、数据库交互、数据处理、用户接口设计等多个方面。这个作业可能要求开发者利用C#的特性,如面向对象编程、异步处理、LINQ查询、AWS SDK等,来实现特定的功能。 【标签】:“C#”:这是一种...

Global site tag (gtag.js) - Google Analytics