FusionAPI调用相关问题

目录

Fusion接口通用问题

1. Fusion2相比以前的fusion1.x版本,在接口调用上有什么不同?

1. Fusion2是FusionAPI的升级版,全面兼容FusionAPI1.x各版本提供的fusion.开头的接口。切换到Fusion2后,接口调用无需更改。
2. 即使调用原来的fusion1.x版本的接口,也不再需要引入Fusion API1.x的js文件,无需使用fusion.init来执行初始化操作,Fusion2将自动完成Fusion API 1.x的加载和初始化工作。
3. Fusion2的对话框组件(fusion2.dialog.*)将全部在应用页创建对话框和iframe,免除了Fusion API1.x中对空间/朋友框架的依赖,开发者可以在任何环境使用Fusion2而不再依赖框架。
4. Fusion2的对话框组件(fusion2.dialog.*)采用iframe遮挡的方式:
- 对于Safari浏览器,Fusion 2无法盖住使用wmode=window模式的Flash,请考虑在Safari下使用wmode=opaque模式,或者将Flash容器对象设置为position:relative。 在打开对话框时设置left:-1000px,并在onClose回调时恢复。
- 对于Chrome浏览器,Fusion 2只能盖住和引用Fusion 2在同一个页面上的Flash,如果无法避免将Fusion 2和Flash放在同一个页面,请考虑和Safari一样的解决方案。
- 对于其他浏览器,Fusion 2的对话框可以覆盖在wmode=window模式的Flash上。为了提升性能,请尽量使用wmode=window模式。
5. Fusion2的对话框组件(fusion2.dialog.*)全部支持onClose回调。
6. 2012年6月19日起,Fusion2的对话框组件(fusion2.dialog.*)允许按住对话框标题栏拖动对话框,允许当前活动对话框覆盖在其他非活动对话框之上,允许通过点击对话框变更对话框活动状态。

2. 如何看接口是否调用成功了?

调用fusion2接口后,可在支持console的浏览器上看到执行结果。

3. 前端API支持的flash版本和浏览器是是什么?

目前支持10.1 以上的flashplayer。
支持的浏览器内核:ie6,ie7,ie8,ie9,firefox,chrome,safari,opera。

4. 出现对话框无法打开等异常?

对于使用标签<a>触发Fusion接口的情况,需注意以下2点,以避免浏览器兼容性问题导致无法打开对话框:
1. 请不要将方法调用放置于href中,而要放置于onclick中(即为按钮添加响应事件);
2. 请添加return false。
以邀请接口为例(函数“showPopupInvite()”通过调用fusion2.dialog.invite来实现好友邀请功能):

<a href= 'javascript:;' onclick='showPopupInvite();return false;'>

5. 传入的图片不能显示?

1. 图片本身不存在。

2. 接口中对图片URL有域名限制。不符合规范的图片将不能显示。

3. 接口中对图片URL没有域名限制,但是没有使用crossdomain.xml让Flash可以跨域传输数据。
图片域名规范,以及跨域传输说明详见:前端页面规范#8. 应用内图片域名规范

6. 显示用户头像时报沙箱错误?

这是由于策略文件没有*pengyou.com/*.qzone.com这些域造成的。
只允许flash应用加载显示用户头像图片,不支持对头像内容进行操作。
详见:前端页面规范#7. 关于Flash应用中用户头像的加载和操作

7. 从QQ空间获取的照片URL显示时出现防盗链问题

应用可调用一些前台接口(例如:fusion2.dialog.selectPhoto)来获得QQ空间的图片地址,但是显示该图片的时候会出现“此图片来自QQ空间,未经允许不可引用”的防盗链问题。
该问题一般是由于以下问题引起的:
(1)应用未在平台上线,其应用开发地址或信任IP未符合腾讯开放平台要求,因此会出现防盗链。
(2)non-hosting应用上线之后,又提交申请修改了应用开发地址或信任IP,则会出现防盗链。由于该开发地址同步到QQ空间相册相关系统有一定的时间,因此需要2小时后会恢复正常(我们正在努力缩短这段同步的时间,以降低修改应用开发地址后对应用的影响)。

8. Fusion弹框在IE浏览器下部分被遮盖?

在IE浏览器下,如果对话框边框或标题栏展示不完全,可能是因为应用代码中存在position: absolute元素,该元素会将FusionAPI中的遮罩元素遮挡,导致Fusion弹框部分被遮盖。
请尽量避免使用position: absolute或考虑在打开FusionAPI对话框时隐藏Flash。
后续FusionAPI会考虑对这里进行调整以增加兼容性。

9. 为什么调用Fusion接口提示频率受限?

推广类Fusion接口一般都有发送频率限制(请在各接口的wiki中查看具体限制),发送的频率的统计是在FusionAPI调用成功时进行,而不是通过在空间/朋友等平台的展示次数统计。
例如fusion2.dialog.sendStory接口,当用户点击发送时,由于网络问题,Fusion接口调用成功,但是feeds没有完整发送,此时仍然会统计;
或者当用户发送两条一样的feeds时,在朋友平台只会展现一条,此时也会统计发送次数。

10. 应用已上线但调用Fusion接口提示未上线?

当调用Fusion接口时,需要引用Fusion脚本(具体请参考Fusion2#Fusion2接口调用说明),引用脚本是,如果应用的appid或platform参数设置错误时,可能产生此类报错。
例如应用app1上线了朋友,但未上线空间,如果引用脚本时传入platform=qzone,则在调用Fusion接口时会提示应用未上线。

具体FusionAPI相关

1. 为什么用户被邀请进入应用时没有带iopenid等参数?

应用调用接口fusion2.dialog.invite实现邀请好友功能,当1个用户发送邀请成功并且被邀请对象开通应用后,平台会在CanvasURL(CanvasURL介绍详见这里)后加入三个参数 invkey , itime , iopenid,以表示该用户是被谁邀请进入应用的。
注意:
1. 只会在好友第一次进入应用时在CanvasURL后带上iopenid,invkey,itime等参数。
如果用户点击接受邀请,进入安装应用页面时,刷新了页面,后续再次进入应用时,不会再传入iopenid等参数。
2. 如果用户不是通过好友发送的邀请请求中的应用链接进入应用的,而是通过其它途径进入应用(例如自己在应用中心中搜索应用然后进入),也不会传入iopenid等参数。

2. 请求/赠送礼物接口如何进行联调?

详见fusion2.dialog.sendRequest#7 联调说明

3. 分享成功后在朋友网的好友动态中不展现?

应用调用分享接口(fusion2.dialog.sharefusion2.dialog.sendStory),用户分享成功后,会产生分享feeds。
根据朋友网的feeds展现规则,分享类feeds会在朋友网的“分享”应用中显示,不会展现在好友动态中。

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

Copyright © 1998 - 2017 Tencent. All Rights Reserved.

腾讯公司 版权所有

有问必答 返回顶部