常见问题

我们提供了多种沟通方式,以快速解决您在开发中遇到的问题,请参考联系我们

站内组件开发&API调用问题

以下是站内组件开发&API调用中常见的问题,供大家参考:

站内组件页面如何实现高度自适应?

以下是实现组件页面高度自适应的代码,请添加到组件页面中。

function setHeight(){
	var dHeight = document.documentElement.offsetHeight;
	if("\v"=="v")
	{
		dHeight = document.documentElement.scrollHeight;
	}
	var t = document.createElement("div");
	t.innerHTML = '<iframe id="kxiframeagent" src="http://rest.kaixin001.com/api/agent.html#'+dHeight+'" scrolling="yes" height="0px" width="0px"></iframe>';
	document.documentElement.appendChild(t.firstChild);
}

注意事项:

  1. 页面html代码要有 <!DOCTYPE
  2. bodyonload 事件中调用 setHeight(); 方法
  3. 当页面中有javascript操作导致高度变化时,调用setHeight();方法重新刷新高度
  4. setHeight方法,应该在页面加载完(比如body的onload事件)和页面高度发生变化后执行
  5. 如果您的页面高度是固定的,建议将dHeight设置为常量

站内组件内如何获取 URL 参数?

组件首页可以获取get参数。以获取如下链接中的参数为例: http://www.kaixin001.com/!app_xxxx/?id=10335
http://www.kaixin001.com/!app_xxxx/?link=paylink&id=3

PHP例子:

$id = $_GET['id'];$link = $_GET['link']; 

如果希望组件地址跳转,可以根据get参数实现:

if ($id ==1 ) { 
转到A页面 
} else { 
转到B页面 
} 

开放API1.2如何调用?

目前开心网的API1.2调用不允许使用form表单提交的方式,请通过服务器程序发送GET或POST请求;Actions接口使用GET方式调用,产生交互页面;非Actions接口用POST方式调用,返回JSON/XML结果,详细请参考开放API文档

Session_Key错误的原因有哪些?

  1. 使用测试uid登录进入组件时,开心框架会传递一个参数session_key过来。Session_key是由当前组件以及测试uid来生成的。
  2. Session_key为空:测试uid没有登录。
  3. Session_key不正确,有可能是获取的session_key与配置文件中的app组件及测试uid不匹配。或者由于长时间没有操作导致session_key过期,session_key过期时间一般为几个小时。

MD5加密注意事项

在MD5前及64位编码前,参数一般需要进行排序。请确保md5以及64位编码的正确。

发送消息或者支付的交互页面无法弹出

  1. 建议使用英文字符进行测试,如果英文字符没有问题,则还是编码问题,解决办法同“数字签名错误”。
  2. 请根据提示的JSON错误信息来确定错误原因。
  3. 如果仍旧有问题,则需要查看参数的排序,是否有值,md5以及64位编码问题等等。

1011错误的原因有哪些?

  1. 版本号v值不正确;
  2. 版本号v值为空 或 提交参数方法不正确,接口无法接收正确参数。比如:用表单提交POST请求;用POST方法请求Actions接口;用GET方法请求非Actions接口。

1003数字签名错误的原因有哪些?

  1. 参数没有按照规定排序
  2. 参数中包含中文字符时发生错误,建议先使用英文字母来测试,如果测试通过,中文字符发生错误,应该是中文字符编码问题,建议使用开放API示例代码中md5之前的字符串及md5之后的字符串进行程序中的md5方法测试。推荐使用GB2312编码。

OpenID问题

以下是OpenID开发中常见的问题,供大家参考:

申请OPENID可以获取哪些用户信息?

申请OPENID后,可以调用开心网已经开放的API,从而可获得登录用户及其好友的UID、开心网用户姓名、头像、性别以及用户是否在线等,暂不能获取用户注册邮箱。

如何在本地测试开发?

请您先用正式的域名进行身份认证,在测试时用hosts指向您的测试服务器进行功能测试

OPENID 认证文件过期

如果您点击下载按钮,即使您此次没有下载,系统也会默认您已经下载了此文件。如果这时您再上传之前下载的文件,就会提示您过期。所以建议您下载新文件,然后直接上传。