腾讯open API接入心得
2016-02-04 16:27
330 查看
关于open API的接入我也是最近才在学习,下面是我做腾讯open API接入是的一些心得,可能不会很全面,但是希望能帮助到那些刚开始做接入的彤彤。
首先,必须要做的准备:
1.在腾讯的开放平台上去看新手指引。地址:http://open.qq.com/
2.注册成为开发者之后,下载sdk,地址:http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD
3.我目前做的只是android平台,所以后面的示例代码等,都以android为例,IOS平台原理应该相类似。
4.引入sdk包下面的jar包和res文件到自己的工程,如果代码中有多个平台的接入,我个人建议创建一个moudle最好,这样方便管理和维护。
5.以腾讯开放平台给的文档为参考,配置manifest文件和grandle文件(注意:我这里使用的是Android Studio 做为开发工具,如果是Exclipse的话,我就不太清楚了)。
其中我配置的manifest文件的activity如下:
之后需要在manifest中配置appkey,这个值和appid都是来自你在腾讯开放平台上面创建的应用,在应用管理页面去查看。
最后为你的app配置需要的权限, 这个有你自己决定,示例如下:
6.依照API文档,创建并实现回调,在这个过程中一定要注意:
应用调用Andriod_SDK接口时,如果要成功接收到回调,需要在调用接口的Activity的onActivityResult方法中增加如下代码:
7.下面就可以实现QQ登录、获取userInfo、好友分享等功能了,我的一些代码如下:
特别注意:一定要仔细阅读API文档,这样才能做出你想要的东西^_^
首先,必须要做的准备:
1.在腾讯的开放平台上去看新手指引。地址:http://open.qq.com/
2.注册成为开发者之后,下载sdk,地址:http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD
3.我目前做的只是android平台,所以后面的示例代码等,都以android为例,IOS平台原理应该相类似。
4.引入sdk包下面的jar包和res文件到自己的工程,如果代码中有多个平台的接入,我个人建议创建一个moudle最好,这样方便管理和维护。
5.以腾讯开放平台给的文档为参考,配置manifest文件和grandle文件(注意:我这里使用的是Android Studio 做为开发工具,如果是Exclipse的话,我就不太清楚了)。
其中我配置的manifest文件的activity如下:
<activity android:name="com.tencent.tauth.AuthActivity" android:noHistory="true" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencentDO7O1BPDXcCh1ZY3" /> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOrientation="behind" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden"> </activity>
之后需要在manifest中配置appkey,这个值和appid都是来自你在腾讯开放平台上面创建的应用,在应用管理页面去查看。
<meta-data android:name="TA_APPKEY" android:value="DO7O1BPDXcCh1ZY3" /> <meta-data android:name="InstallChannel" android:value="play"/>
最后为你的app配置需要的权限, 这个有你自己决定,示例如下:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
6.依照API文档,创建并实现回调,在这个过程中一定要注意:
应用调用Andriod_SDK接口时,如果要成功接收到回调,需要在调用接口的Activity的onActivityResult方法中增加如下代码:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Tencent.onActivityResultData(requestCode,resultCode,data,listener); }
7.下面就可以实现QQ登录、获取userInfo、好友分享等功能了,我的一些代码如下:
//qq登录 mTencent.login(this, "all",listener); //其中this为activity,all表示获取所有权限,listener为回调的监听器对象
//分享到QQ空间 public void qq_shareToQzone_onclick() { int test = 0; shareListener = new ShareListener(); ThreadManager.getMainHandler().post(new Runnable() { @Override public void run() { if (null != MainActivity.mTencent) { //分享类型 Bundle params = new Bundle(); params.putInt(QzoneShare.SHARE_TO_QZONE_KEY_TYPE,QzoneShare.SHARE_TO_QZONE_TYPE_IMAGE_TEXT); params.putString(QzoneShare.SHARE_TO_QQ_TITLE, "只是一个测试");//必填 params.putString(QzoneShare.SHARE_TO_QQ_SUMMARY, "就是一个测试而已");//选填 params.putString(QzoneShare.SHARE_TO_QQ_TARGET_URL, "http://www.qq.com/news/1.html"); //必须是一个list ArrayList<String> imageUrls = new ArrayList<String>(); imageUrls.add("https://www.baidu.com/img/bd_logo1.png"); params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL,imageUrls); params.putInt(QzoneShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN); MainActivity.mTencent.shareToQzone(MainActivity.this, params, shareListener); } } }); //mTencent.shareToQzone(MainActivity.this, params, shareListener); } //分享到qq好友 public void qq_shareToQQFriends_onclick() { int test = 0; final Bundle params = new Bundle(); params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT); params.putString(QQShare.SHARE_TO_QQ_TITLE, "要分享的标题"); params.putString(QQShare.SHARE_TO_QQ_SUMMARY, "要分享的摘要"); params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, "http://www.qq.com/news/1.html"); params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL,"http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif"); params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "测试应用222222"); params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, 11); mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener()); }分享到腾讯微博的目前还存在问题代码就不上传了,其他的好友邀请,送礼物等等都是类似。
特别注意:一定要仔细阅读API文档,这样才能做出你想要的东西^_^
相关文章推荐
- Nginx主配置参数详解,Nginx配置网站
- 例题6-6 UVs679 Dropping Balls(二叉树)
- 架设Squid代理作为WEB缓存加速
- Linux 查看内存插槽数、最大容量和频率
- apache 职责链 使用
- linux网卡驱动程序分析
- hyper-v 虚拟机 挂载硬盘
- Linux 下 sudoer文件的一些介绍
- Windows玩转Docker(二):运行whalesay image
- Linux C打印IP地址信息
- Linux添加用户(user)到用户组(group)
- 反向代理介绍
- fastdfs集群配置
- 如何配置tomcat项目的默认页面为.action或其他后缀名的方法(文件)
- Nginx配置详解
- linux快捷上传下载文件
- Linux下编译安装python3
- Centos7-minimal安装完成后需要完成的几件事情
- Node.js之学习网站
- Windows下Apache+Tomcat实现应用集群