ASP应用实例(腾讯内部讲义)
互动状态的实现指南
                                 

置顶语怎么设置目录
一、用户的状态获取    - 3 -
1、获取单个用户的状态:    - 3 -
2、获取多个用户的状态    - 4 -
二、点击用户的状态给用户发送消息    - 5 -
三、互动状态的接口参考    - 9 -
1、复杂接口(含有点击操作的)    - 9 -
2、简单接口(无点击操作)    - 10 -
1)返回在线状态图片    - 10 -
2)返回在线状态文字    - 10 -
四、ASP应用实例    - 11 -
1、ASP的应用环境    - 11 -
2、ASP实例详解    - 11 -
1)应用场景    - 11 -
2)技术方案    - 12 -
3)编码实现    - 12 -
A、访问数据库    - 12 -
B、编写网页元素    - 13 -


一、用户的状态获取
在您开发的互动空间程序中,有时需要查询某个QQ用户或某批QQ用户的在线状态,腾讯公司为此提供了一个简便的接口,该接口是一个URL地址。根据获取单个和多个的不同,该URL地址有所不同,服务器返回的形式也有所不同。注意,该URL地址是大小写敏感的
  目前只返回在线和离线两种状态,注意,没有离开状态和隐身状态,当用户处于离开状态时,视同在线;当用户处于隐身状态时,视同离线状态。
1、获取单个用户的状态:
获取单个用户的状态的URL地址是:
webpresence.qq/getonline?Type=1&qq=3621277&resulttype=3
后三项您可以随意定制,具体含义为:
Type项:对于获取单个用户的情况,是保留项,可以填写任意值或者不要该项
webpresence.qq/getonline?qq=3621277&resulttype=3
qq中华无敌前传项:代表您要查询的QQ用户的号码;
resulttype项:表示您希望获得的是人民的名义 原型QQ还是TM的状态,值为1代表返回的是TM类型的状态,值为3代表返回的是QQ类型的状态。
把上述URL地址拷贝到IE的地址栏,回车,返回的页面显示如下值:
document.write("<img src='219.133.40.106/qq1_offline.gif' border='0' ")
可见,这个查询的返回结果是一条显示某个图片的命令,219.133.40.106/qq1_offline.gif就是表示图片所在的位置以及文件名,不同的图片代表了不同的状态。
根据您填写的resulttype的值不同,用不同的图片代表不同的状态,具体如下表:
                            1 状态一览表
中国十大黑社会
Resulttype的值
图片
文件名
代表的含义
1
tm_offline.gif
TM用户离线
1
tm_online.gif
TM江南是指哪里用户在线
2
rtx_offline.gif
s-buddy用户离线
2
rtx_online.gif
s-buddy用户在线
3
qq1_offline.gif
QQ用户离线
3
qq1_online.gif
QQ用户在线
04
qq_offline.gif
QQ用户离线
04
qq_online.gif
QQ用户在线
下面是一段获取单个用户的在线状态的完整示例代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
杨仁沛<title>示例网页</title>
</head>
<body>
这里显示的是QQ用户的状态,如果要更新,请刷新网页。
TM:3621277 的在线状态
<script language="javascript" src="219.133.38.16/getonline?type=1&qq=3621277&resulttype=1"> </script>
</body>
</html>
从上面的代码可以看出,获取状态的命令是这句话:
<script language="javascript" src="219.133.38.16/getonline?Type=1&qq=3621277&resulttype=1">  </script>
服务器返回命令是:
document.write("<img src='219.133.40.106/qq1_offline.gif' border='0' ")
该命令执行的结果将会在获取状态的命令的位置绘制一个图片,以代表客户的在线状态
2、获取多个用户的状态
获取多个用户状态的URL地址是:
webpresence.qq/getonline?Type=1&154195734:240285461:14137743:
其中Type=1是表示获取多个用户的状态,“Type=1&”后面紧跟着的是您要查询的用户的QQ号码,各个号码之间必须用冒号“:”隔开,并且必须以冒号“:”结尾。
把上述URL地址拷贝到IE浏览器的地址栏中,回车,可以看到返回结果是:
online[0]=0;online[1]=1;online[2]=0;
您可以在网页中编写脚本来读取这些返回结果,编写时,您必须声明一个名为online的数组,用于读取你所要查询的QQ用户的状态。online数组中的序号0,1,2的值分别对应URL地址中的先后QQ号码,数组的值0表示离线,1表示在线。按照上面的例子则:online[0]=0表示154195734用户离线;online[1]=1表示240285461用户在线;online[2]=0表示14137743用户离线。
根据这些返回值,您可以用图标显示他们的状态,这些图标都在219.133.40.106/ 地址下,具体的文件名以及他们所代表的图片及含义请参见“1 状态一览表”。
脚本示例代码:
<script language="javascript">
var online= new Array();
</script>
<script>
    if (online[0]==0)
      document.write("<img SRC=\"219.133.40.106/qq_offline.gif\");
    else
      document.write("<img SRC=\"219.133.40.106/qq_online.gif\");
</script >
二、点击用户的状态给用户发送消息
在所显示的状态图标上,可以编写脚本,使鼠标点击该图标弹出给该用户发送消息的窗口,达到实时沟通的效果。前提是:您的机器必须安装了QQTM,如果您的QQ或TM还
没启动,会提示您先启动,提示如下:
例如,在网页上显示了以下图标:
点击后,将出现以下会话窗口:
在显示图标的标签<IMG>的响应函数里的相应参数上填写如下参数:
tencent://Message/?Menu=yes&Exe=tm&Uin=259966199
该参数大小写不敏感,其中Uin项表示要与之会话的QQ用户的号码;MenuExe项的含义如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。