概念和术语

目录

1 APP的基本信息

一个应用(APP)具有AppID,AppName,AppKey,中文别名,CanvasUrl等基本信息。

1.1 AppID

字段类型:整型。

功能说明:应用的唯一标识,可以通过AppID查找APP基本信息。在调用OpenAPI的时候表明应用身份。AppID在创建应用时分配,查看方式详见应用管理#2. 查看应用属性

1.2 AppName(应用名称)

字段类型:字符型。

功能说明:应用的唯一标识,可以通过AppName查找APP基本信息。在调用OpenAPI的时候表明应用身份。AppName在创建应用时由开发者填写,查看方式详见应用管理#2. 查看应用属性

1.3 AppKey

字段类型:字符型。

功能说明:当应用通过OpenAPI调用腾讯开放平台资源时需要的加密串,用来验证应用的合法性。AppKey在创建应用时分配,查看方式详见应用管理#2. 查看应用属性

1.4 中文别名

字段类型:字符型。

功能说明:应用在朋友社区/QQ空间中显示的中文名称,会在不同的地方有展现(例如在应用列表以及可安装应用列表中显示)。

如下图所示,某一个应用的中文别名为“巴别圣塔”。在应用列表以及可安装应用列表中,都以此名称显示。

kfptjbgn_zwbm.png

1.5 CanvasURL与应用平台地址

1. CanvasURL(即应用开发地址)
(1)也称之为应用开发地址,CanvasURL不会展现在地址栏,只是用于跳转时引用(见下图标注)。
(2)CanvasURL由开发者填写(登录op.open.qq.com后进入管理中心,选择1个应用进入,在“应用管理”tab下的“平台信息”页面可看到应用开发地址填写框),它可以是一个CGI Service的地址,也可以是一个HTML页面。
(3)对于hosting应用来说,CanvasURL的域名是由平台分配的。
例如某个hosting应用其在空间平台的CanvasURL为如下,其中app10507.qzone.qzoneapp.com由平台分配:
http://app10507.qzone.qzoneapp.com?openid=xxxx&openkey=xxx&pf=qzone&pfkey=xxx...
提交申请前,该地址可以任意填写;
准备提交申请时,需要改为实际调用地址,应用只需要在平台分配的域名后加上详细地址。对于多区多服应用,平台自动将分配的域名匹配至选区配置页,不允许修改。
(4)对于non-hosting应用来说,CanvasURL没有任何限制。
(5)CanvasURL在2种场景下被引用:
-对于开发中的应用,从“开发者”应用中跳转到应用时,需要引用CanvasURL才能进入到应用(你可能需要了解如何进入“开发者”应用?)。
-对于符合要求的应用,通过应用平台地址跳转到应用时,需要引用CanvasURL才能进入应用。

注意:
(1)跳转到应用后,平台会在CanvasURL后带一些参数,应用可以通过解析CanvasURL来获取这些参数的值。
CanvasURL后一定会带的参数有:openid,openkey,pf,pfkey
根据场景不同可能会带的参数有:invkey,iopenid,itime,source,app_custom
invkey:邀请验证Key,为加密串,可参考v3/spread/verify_invkey中的说明;
iopenid:发起邀请者的openid;
itime:邀请时间;
source:由开发者自定义该参数内容,用于判断请求来源,可参考fusion2.dialog.sendRequest中的说明。
app_custom:由开发者自定义该参数,与source结合使用,可参考fusion2.dialog.sendRequest中的说明。

如果不知道如何解析CanvasURL以获取这些参数,点击这里
如果解析CanvasURL时获取不到OpenID和Openkey等参数,点击这里

(2)以上参数已经被腾讯的统计后台占用,应用不能再用作自定义参数。 如果应用使用将会扰乱腾讯后台的统计数据。

2. 应用平台地址
(1)从腾讯平台(朋友/QQ空间/微博等)跳转到应用后,在地址栏展现的链接地址(见下图标注)。
(2)应用符合要求后,腾讯开放平台就会为该应用生成对应的平台地址。(你可能需要了解如何获取应用平台地址?)。
(3)用户也可以直接将该地址复制到地址栏然后访问。
例如某个应用在QQ空间的应用平台地址为: http://rc.qzone.qq.com/myhome/10507

如下图所示,标注了平台地址以及开发地址:
example_appurl.jpg

2 开放接口相关信息

2.1 OpenID

字段类型:字符型。

功能说明:OpenID是与APP通信的用户key,跳转到应用首页后,URL后会带该参数。根据APPID以及QQ号码生成,不同的appid下同一个QQ号生成的OpenID是不一样的(目前不接受同一个开发者名下的不同应用之间对于同一个用户的OpenID的互通)。
OpenID在每个应用中都是唯一,作为用户的唯一标识,访问OpenAPI时必需传入OpenID。

校验规则:长度为32的16进制字符串,字符在[0-9A-F]范围内。 开发者必须按照该规则对请求中传来的OpenID进行校验。根据该规则生成的正则表达式:^([0-9A-F]{32})$ 。

使用场景: 在调用OpenAPI的时候,需要传入OpenID参数,用来表示取哪个用户的数据。

如何获取:当登录用户从腾讯平台(朋友/QQ空间/微博等)进入应用时,跳转URL中将带有OpenID及OpenKey两个参数。
开发者需要解析该URL(如果是以.htm或.html结尾的,请在解析时兼容"?" "#"两种传参方式,详见这里的说明),以获取OpenID和Openkey的值并保存起来,用于后续调用OpenAPI时使用。

注意使用前需要对OpenID和OpenKey做校验,以预防XSS漏洞。


例如某用户从朋友社区进入某个应用的跳转URL中,带有该登录用户的OpenID以及OpenKey:

http://main.myapp.pengyou.qq.com/index.php?openid=000000000000000000900000001C2DF9&openkey=3CCEE2DDD1234567FE9DCA05EED929F228929FDCA80FC33C


备注
(1)OpenID存储时建议按照16Bytes不可见字符进行存储。例如某OpenID的32Bytes的可见字符为000000000000000000000000001C2DF9,每2个字符代表一个Byte,存储时将相邻两个字符表示为一个字节,于是得到16个字节:

0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x1C、0x2D、0xF9。
(2)应用的canvas url如果是以.htm或.html结尾的,请在解析时兼容"?" "#"两种传参方式。原因是V6版本QQ空间规定了以htm,html结尾的跳转,以"#"分隔参数。

2.2 OpenKey

字段类型:字符型。

功能说明:是用户的会话密钥(session key),跳转到应用首页后,URL后会带该参数。同一个用户如果在不同时间打开多个应用页面,页面返回的openkey是不一样的,这些openkey在各自的页面都可用。访问OpenAPI时必需传入OpenKey。

校验规则:长度为不固定的字符串,不能为空。建议开发者不要检查openkey的长度,也不要在后台存储openkey,否则可能会导致用户无法登录。 推荐对请求中传来的Openkey做登录态校验(校验方式详见:技术优化原则#1.3 需要考虑对登录态做校验)。

使用场景:见上文OpenID的说明。

如何获取:见上文OpenID的说明。

2.3 OpenAPI

功能说明:腾讯开放平台为第三方应用接入提供的编程接口。具体接口说明,参见API列表

2.4 pf

功能说明:1个应用可以接入腾讯的多个平台,腾讯为此定义了pf值,用pf值来识别应用的来源平台。
pf值以及对应的平台的列表包括但不仅限于如下:
qzone:空间;pengyou:朋友;qplus:Q+;tapp:微博;qqgame:QQGame;3366:3366;kapp:开心;manyou$id(ID不固定,跳转到应用首页后,URL会带参数manyouid,表示这里的ID):漫游。union-$id-$id(ID不固定,跳转到应用首页后,URL会带union-$id-$id):腾讯游戏联盟。 后缀加上_m代表来自手机,如:pengyou_m:手机朋友。

pf值的更多说明详见:API3.0文档#公共参数说明

3 其它概念和术语

名词 解释
DAU Daily Activited Users,日活跃用户
注收比 人均付费量。

例如:
新用户30日注收比 = 注册日起30日收入总额(单位:Q点)/当日新注册用户数。

feeds QQ空间、腾讯朋友个人中心中的动态。

feeds分为主动feeds和被动feeds。
例如用户A在QQ空间中发表了1篇日志,用户B是用户A的QQ好友,那么:
-出现在用户A的个人中心的1条关于该日志的动态,就是一条主动feeds。
-出现在用户B的个人中心的关于该日志的动态,就是一条被动feeds。


以上信息是否解决您的问题?

Copyright © 1998 - 2017 Tencent. All Rights Reserved.

腾讯公司 版权所有

有问必答 返回顶部