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意义不同,没有任何联系

你可能感兴趣的:(JavaScript,游戏,json,REST,SNS)