如何将应用中的内容分享到QQ空间
在这个寂寞的年代,每个人都有分享的需求。一张图片,一篇文章,一个笑话,独乐乐不如众乐乐。QQ空间拥有几亿的用户,无疑是我们分享心情的最好的平台。
这里,我向大家介绍一下针对android平台如何将应用中的内容分享到QQ空间。
QQ互联是腾讯公司为第三方网站、媒体、终端提供的开放平台,主要包括QQ登录、分享等社交组件及开放API等。QQ互联为网民提供便捷的社交服务和安全的帐号体系,为网站和媒体打造全新的社会化营销工具和搜索系统。与中国互联网产业共同分享和打造开放的、个性化的社交网络。
官网:http://connect.qq.com
使用QQ互联开放平台提供的SDK,我们能够很容易的实现将应用内容分享到QQ空间。下面将一步一步进行讲解。
首先,我们需要使用开放平台提供的API,才能实现将内容分享到QQ空间。在官网首页点击导航上的文档资源菜单,进入QQ登录文档界面,然后点击左边列表项的API文档链接,进入API文档界面。在这个界面列出了可供调用的API列表。下面是跟空间有关的API列表。
分类
功能说明
接口
是否需要
申请接口权限
空间
获取用户在QQ空间的个人资料
get_user_info
(仅支持网站调用)
不需要
get_simple_userinfo
(仅支持移动应用调用)
不需要
发表一条说说到QQ空间
add_topic
需要,现在就申请
发表一篇日志到QQ空间
add_one_blog
需要,现在就申请
创建一个QQ空间相册
add_album
需要,现在就申请
上传一张照片到QQ空间相册
upload_pic
需要,现在就申请
获取用户QQ空间相册列表
list_album
需要,现在就申请
同步分享到QQ空间、腾讯微博
add_share
不需要
验证是否认证空间粉丝
check_page_fans
不需要
我们可以看到其中有些API是需要申请权限的,如果你需要在应用中使用这些API,需要先进行申请。点击申请链接,按照官网上的指示进行申请就可以了。
接下来我们点击左边SDK下载的链接,选择右边的Android SDK下载SDK的最新版本。旁边有Android_SDK使用说明的链接,点击可以查看SDK的使用说明。下面我们重点讲讲如何使用SDK实现分享到空间的功能。
调用分享API之前需要先进行授权,这部分可以参考官网上的说明,上面还有关于如何引用SDK的说明,这里我就不介绍了。废话不说,看代码:
AndroidManifest.xml中的代码:
上面声明了一个Activity,这个在调用API的时候需要用到。
Java代码:
Bundle bundle = new Bundle();
//必须。feeds的标题,最长36个中文字,超出部分会被截断。
bundle.putString("title", "QQ登录SDK:Add_Share测试");
//必须。分享所在网页资源的链接,点击后跳转至第三方网页, 请以http://开头。
bundle.putString("url", "http://www.qq.com" + "#" + System.currentTimeMillis());
//用户评论内容,也叫发表分享时的分享理由。禁止使用系统生产的语句进行代替。最长40个中文字,超出部分会被截断。
bundle.putString("comment", ("QQ登录SDK:测试comment" + new Date()));
//所分享的网页资源的摘要内容,或者是网页的概要描述。 最长80个中文字,超出部分会被截断。
bundle.putString("summary", "QQ登录SDK:测试summary");
//所分享的网页资源的代表性图片链接",请以http://开头,长度限制255字符。
//多张图片以竖线(|)分隔,目前只有第一张图片有效,图片规格100*100为佳。
bundle.putString("images", "http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif");
//分享内容的类型。4表示网页;5表示视频(type=5时,必须传入playurl)。
bundle.putString("type", "5");
//视频链接。长度限制为256字节。仅在type=5的时候有效。
bundle.putString("playurl", "http://player.youku.com/player.php/Type/Folder/Fid/15442464/Ob/1/Pt/0/sid/
XMzA0NDM2NTUy/v.swf");
//这里的context为你自己定义的一个Context,accessToken,appid,openid在通过授权后可以取得,需要自己保存下来
TencentOpenAPI2.sendStore(context, accessToken, appid,
openid, "_self", bundle, new Callback() {
//分享成功之后的回调
@Override
public void onSuccess(final Object obj) {
//这里加上你自己的处理逻辑
}
//分享失败之后的回调
@Override
public void onFail(final int ret, final String msg) {
//这里加上你自己的处理逻辑
}
//取消操作之后的回调
@Override
public void onCancel(int flag) {
}
}, null);
只要在app中加入以上代码,就可以实现将内容分享到空间了,是不是很简单呢?其他API的调用依次类推。
另外,如果你觉得登录授权的过程过于麻烦,那么你也可以使用分享组件,可以在web页面进行分享,无需用户进行登录授权。使用分享组件,只需在web页面添加一段js代码就可以,非常简单。以下是一段示例代码:
详情可参考http://connect.qq.com/intro/share/ 上的介绍。
如何将应用中的内容分享到QQ空间,到此就介绍完了,希望能对大家有所帮助~~