Android_API调用说明

目录

1. SDK API调用说明

除注销和获取应用好友API没有UI交互外,调用以下SDK提供的API后,会弹出相应的界面,以完成后续的操作。

1.1 登录/校验登录态

通过调用Tencent类的login函数发起登录/校验登录态。
该API具有两个作用:
(1)如果开发者没有调用mTencent实例的setOpenId、setAccessToken API,则该API执行正常的登录操作;
(2)如果开发者先调用mTencent实例的setOpenId、setAccessToken API,则该API执行校验登录态的操作。如果登录态有效,则返回成功给应用,如果登录态失效,则会自动进入登录流程,将最新的登录态数据返回给应用。

建议开发者在每次应用启动时调用一次该API(先调用setOpenId、setAccessToken),以确保每次打开应用时用户都是有登录态的。

调用登录API的示例代码如下:

 private void doLogin() {
 	IUiListener listener = new BaseUiListener() {
 		@Override
 		protected void doComplete(JSONObject values) {
 			updateLoginButton();
 		}
 	};
 	mTencent.login(this, SCOPE, listener);
}


调用登录API参数说明如下:

参数 参数说明
activity 调用者activity。应用使用SDK时,会从应用自己的Activity跳转到SDK的Activity,应用调用SDK的Activity即为这里的调用者activity。
scope 应用需要获得哪些API的权限,由“,”分隔。

例如:SCOPE = “get_user_info,add_t”;所有权限用“all”

listener 回调API,IUiListener实例。

注:在某些低端机上调用登录后,由于内存紧张导致APP被系统回收,登录成功后无法成功回传数据。
解决办法如下
在调用login的Activity或者Fragment重写onActivityResult方法,示例代码如下:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(requestCode == Constants.REQUEST_API) {
	if(resultCode == Constants.RESULT_LOGIN) {
	    mTencent.handleLoginData(data, loginListener);
    }
    super.onActivityResult(requestCode, resultCode, data);
}


1.2 注销

通过调用Tencent类的logout函数注销。
调用注销API的示例代码如下:

mTencent.logout(this);


调用注销API参数说明如下:

参数 参数说明
context 调用者的context。Context是上下文的意思,每一个Activity都有对应的Context。示例中的this为调用者Activity对应的Context。

1.3 邀请好友

特别声明:该接口目前仅支持白名单应用。出于信息安全的考虑,本接口目前升级中。升级完成前暂不接受开发者的授权申请。升级完成后,所有接入QQ登录的开发者将均可调用。 已接入过该接口的开发者,不需要更改调用的接口,将自动兼容。
邀请好友的基本流程为:

(1)判断用户是否已经登录,且应用是否获取了openid;
(2)创建一个Bundle,并填入必要参数;
(3)调用SDK中Tencent类的inviteAPI,启动邀请界面。

通过调用Tencent类的invite函数实现邀请功能。

调用邀请API的示例代码如下:

 private void onClickInvite() {
	if (mTencent.isSessionValid() && mTencent.getOpenId() != null) {
			Bundle params = new Bundle();
			params.putString(Constants.PARAM_APP_ICON,
"http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif");
			params.putString(Constants.PARAM_APP_DESC,
					"AndroidSdk_1_3: invite description!");
			params.putString(Constants.PARAM_APP_CUSTOM,
					"AndroidSdk_1_3: invite message!");
            params.putString(Constants.PARAM_ACT, "进入应用");
			mTencent.invite(MainActivity.this, params, new BaseUiListener());	
    }
}


调用邀请API参数说明如下:

参数 是否必传 类型 参数说明
Constants.PARAM_APP_ICON 必传 String 邀请弹框中显示的应用图标的URL。
Constants.PARAM_APP_DESC 必传 String 邀请弹框中显示的邀请内容。
Constants.PARAM_SOURCE 可选 String 由开发者自定义该参数内容,用于判断好友来源。

邀请成功后,被邀请方通过邀请链接进入应用时会携带该参数并透传给应用。

1.4 应用分享

应用分享的基本流程为:
(1)判断用户是否已经登录,且应用是否获取了openid;
(2)创建一个Bundle,并填入必要参数;
(3)调用SDK中Tencent类的storyAPI,启动分享界面。

通过调用Tencent类的story函数实现分享功能。

调用分享API的示例代码如下:

 private void onClickStory() {
 	if (mTencent.isSessionValid() && mTencent.getOpenId() != null) {
		Bundle params = new Bundle();
		params.putString(Constants.PARAM_TITLE,
				"AndroidSdk_1_3:UiStory title");
		params.putString(Constants.PARAM_COMMENT,
				"AndroidSdk_1_3: UiStory comment");
		params.putString(Constants.PARAM_IMAGE,
				"http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif");
		params.putString(Constants.PARAM_SUMMARY,
				"AndroidSdk_1_3: UiStory summary");
		params.putString(
				Constants.PARAM_PLAY_URL,
				"http://player.youku.com/player.php/Type/Folder/"
						+ "Fid/15442464/Ob/1/Pt/0/sid/XMzA0NDM2NTUy/v.swf");
		mTencent.story(MainActivity.this, params, new BaseUiListener());
	}
}


调用分享API参数说明如下:

参数 是否必传 类型 参数说明
Constants.PARAM_TITLE 必传 String 分享的标题。
Constants.PARAM_IMAGE 必传 String 分享的图片URL。
Constants.PARAM_COMMENT 可选 String 用户分享时的评论内容,可由用户输入。
Constants.PARAM_SUMMARY 可选 String 分享的故事摘要。
Constants.PARAM_SOURCE 可选 String 由开发者自定义该参数内容,用于判断好友来源。

应用分享成功后,被邀请方通过邀请链接进入应用时会携带该参数并透传给应用。

Constants.PARAM_ACT 可选 String 分享feeds中显示的操作区文字,参数值可为:'进入应用', '领取奖励', '获取能量', '帮助TA'。
Constants.PARAM_PLAY_URL 可选 String 分享内容中携带的视频链接。

特别声明:从sdk2.4开始,该能力已与shareToQQ合并,建议使用新接口,该接口后续版本会逐渐不再支持。

1.5 设置QQ头像

特别声明:出于信息安全的考虑,本API仅对可信赖的合作应用开放。已经成功接入“QQ登录”的应用需提交申请以获取访问本API的权限。

设置QQ头像使用Tencent类中的setAvatarAPI,setAvatar使用了一个Activity来让用户调整图片,因此要在项目的AndroidManifest.xml中增加一个Activity配置,如下:

 <application>
 	<activity android:name="com.tencent.plus.ImageActivity" />
 </application>


设置头像失败将在SDK自带的界面上提示用户重试,但可以指定设置成功后将跳转到哪个Activity。若不指定,则返回上一个Activity。

setAvatar的API格式如下:
setAvatar(Activity activity, Bundle params)
setAvatar(Activity activity, Bundle params, IUiListener listener)
setAvatar(Activity activity, Bundle params, IUiListener listener, int enterAnim, int exitAnim)
注意:
(1)Android_SDK_V1.6版本支持传入IUiListener,用于获得设置头像成功或者出错的通知。如果传入了IUiListener,则无需在Params中传入ReturnActivity,跳转逻辑在IUiListener#onComplete的实现中完成;
(2)setAvatar(Activity activity, Bundle params) 已经不推荐使用,请更换为支持IUiListener的版本;
(3)Android_SDK_V1.6版还提供了切换动画的支持(enterAnim和exitAnim),其值为动画的资源文件(XML),可以查看Demo文件夹中的 /res/anim/zoomin.xml和zoomout.xml获得详细示例。

设置QQ头像基本流程为:
(1)判断用户是否存在登录态并且是否获取了openid;
(2)创建一个Bundle,并填入必要参数;
(3)调用SDK中Tencent类的setAvatar方法,启动设置头像界面。

调用设置QQ头像API的示例代码如下:

 private void onClick() {
 	if (mTencent.isSessionValid() && mTencent.getOpenId() != null) {
			Bundle params = new Bundle();
			params.putString(Constants.PARAM_AVATAR_URI,"xxx");
			params.putString(Constants.PARAM_AVATAR_RETURN_ACTIVITY, "com.tencent.sample.ReturnActivity");
            //注意:SDK 1.4 不支持传入listener, 该参数是V1.6新增的	
			mTencent.setAvatar(this, params, new BaseUiListener());
            //指定切换动画的调用形式(V1.6新增)
            mTencent.setAvatar(this,params,new BaseUiListener(),
                     R.anim.zoomin, R.anim.zoomout);
    }
}


调用设置QQ头像API参数说明如下:

参数 是否必传 类型 参数说明
Constants.PARAM_AVATAR_URI 必传 String 将要设置为QQ头像的图片的本地路径,不支持网络图片,不支持动态图(gif),如果传入gif格式的图片,则只显示和使用第一帧的画面。
Constants.PARAM_AVATAR_RETURN_ACTIVITY 可选 String 指定设置QQ头像成功后,将要跳转到的Activity,值为包括完整包名的Activity的类名字符串,默认将返回到上一个Activity。

:该参数为旧参数,不建议再使用,如果要接收设置头像的回调,请传入IUiListener参数。

1.6 增量授权

当应用调用API返回没有权限(返回码为100030)时,可以调用增量授权函数让用户重新进行授权。调用时所使用的参数跟登录是一样的,只是在授权页面那里只会显示要增量授权的项,即所传的scope参数。

这里的scope参数跟登录时所传的scope参数作用是不一样的,这里只需要传需要增量授权的项,即用户之前没有授权的项。一般来说,就是前面调用失败的那个API的scope。

通过调用Tencent类的reAuth函数进行授权。

调用增量授权API的示例代码如下:

 //调用"add_topic" API的listener
 IUiListener listener = new BaseUiListener() {
	@Override
    protected void doComplete(JSONObject response, Object state) {
 		int ret=response.getInt("ret");
		if(ret==100030){
            //这里进行增量授权的操作
			if(mNeedReAuth){
				Runnable r=new Runnable(){
					public void run(){
						mTencent.reAuth(MainActivity.this,"add_topic",new BaseUiListener());
					}
				};
				MainActivity.this.runOnUiThread(r);
			}
		}
    }
};


调用增量授权API参数说明如下:

参数 参数说明
activity 调用者activity。应用使用SDK时,会从应用自己的Activity跳转到SDK的Activity,应用调用SDK的Activity即为这里的调用者activity。
scope 应用需要获得哪些API的权限,由“,”分隔。

例如:SCOPE = “get_user_info,add_t”;

listener 回调API,IUiListener实例。

1.7 发送请求

特别声明:该接口目前仅支持白名单应用。出于信息安全的考虑,本接口目前升级中。升级完成前暂不接受开发者的授权申请。升级完成后,所有接入QQ登录的开发者将均可调用。 已接入过该接口的开发者,不需要更改调用的接口,将自动兼容。
通过调用Tencent类的ask函数发起请求。

调用发送请求API的示例代码如下:

 private void onClickAsk() {
	if (mTencent.isSessionValid() && mTencent.getOpenId() != null) {
		Bundle b = new Bundle();
		b.putString(Constants.PARAM_RECEIVER, "15762FF138EE42D88FE2234D3B89C44B");
		b.putString(Constants.PARAM_TITLE, "title字段测试");
		b.putString(Constants.PARAM_SEND_MSG, "msg字段测试");
		b.putString(Constants.PARAM_IMG_URL, "http://i.gtimg.cn/qzonestyle/act/qzone_app_img/app888_888_75.png");
		b.putString("exclude", "");
		b.putString("specified", "");
		b.putString("only", "0"); // 0或者1
		b.putString(Constants.PARAM_SOURCE, URLEncoder.encode(""));
		mTencent.ask(this, b, new BaseUiListener());
	}
}


调用发送请求API参数说明如下:

参数 是否必传 类型 参数说明
Constants.PARAM_RECEIVER 必传 String 若receiver包含OpenID,则表示使用模式一(应用指定接收者模式),授权使用应用内关系链的应用才可使用模式一。

(1)传入的OpenID必须为应用内关系链,即为已安装该应用的QQ好友;
(2)传入个数不得超过10个,若超过10个则自动截取前10个,剩余舍弃。
若receiver为空,代表使用模式二(用户指定接收者模式)。

Constants.PARAM_TITLE 必传 String 免费礼物或请求名称(最多6个汉字)。
Constants.PARAM_SEND_MSG 必传 String 礼物或请求的默认赠言,由应用传入,当应用未传入时使用系统默认赠言。

长度限制:35个汉字以内,超过限制自动截断。

Constants.PARAM_IMG_URL 必传 String 请求或礼物配图的URL。如果不传,则默认在弹框中显示应用的icon。
exclude 可选 String 在用户自己指定好友的场景中,如果开发者不希望某些用户显示在好友选择器中,可传入这些用户的openid,多个openid之间用“,”分隔(“exclude”和“specified”一共最多可传入50个openid),好友选择器则不显示这些openid对应的用户。
specified 可选 String 在用户自己指定好友的场景中,如果开发者需要在好友选择器中显示指定的用户,可传入这些用户的openid,多个openid之间用“,”分隔(“exclude”和“specified”一共最多可传入50个openid),好友选择器会显示这些openid对应的用户。
only 可选 String 仅当设置了“specified”,需要传入该参数,用于标识是否在好友选择器中只显示“specified”指定的用户。默认值为“0”。

“0”:显示“specified”指定的用户,同时显示好友列表和已安装好友。
“1”:只显示“specified”指定的用户,无好友列表和已安装好友。此时必须保证“specified”有可用的openid传入,否则会报错。

Constants.PARAM_SOURCE 必传 String 由开发者自定义该参数内容,用于判断用户接收的哪个好友的礼物或请求。

例如:
用户A向C赠送礼物/发送好友请求时,source的值为“openid=001”,用户B向C赠送礼物/发送好友请求时,source的值为“openid=002”。当用户C点击链接进入免费礼物或好友请求的查看页面时,url中会携带app_custom参数,app_custom的值为“openid=001”,说明C响应的是A的请求,如果app_custom的值为“openid=002”,说明C响应的是B的请求。

1.8 赠送礼物

特别声明:该接口目前仅支持白名单应用。出于信息安全的考虑,本接口目前升级中。升级完成前暂不接受开发者的授权申请。升级完成后,所有接入QQ登录的开发者将均可调用。 已接入过该接口的开发者,不需要更改调用的接口,将自动兼容。
通过调用Tencent类的gift函数发起请求。

调用赠送礼物API的示例代码如下:

 private void onClickGift() {
	if (mTencent.isSessionValid() && mTencent.getOpenId() != null) {
		Bundle b = new Bundle();
		b.putString(Constants.PARAM_RECEIVER, "15762FF138EE42D88FE2234D3B89C44B");
		b.putString(Constants.PARAM_TITLE, "title字段测试");
		b.putString(Constants.PARAM_SEND_MSG, "msg字段测试");
		b.putString(Constants.PARAM_IMG_URL, "http://i.gtimg.cn/qzonestyle/act/qzone_app_img/app888_888_75.png");;
		b.putString("exclude", "");
		b.putString("specified", "");
		b.putString("only", "0"); // 0或者1
		b.putString(Constants.PARAM_SOURCE, URLEncoder.encode(""));
		mTencent.gift(this, b, new BaseUiListener());
	}
}


调用赠送礼物API的参数与发送请求API的参数相同。

1.9 发送挑战

特别声明:该接口目前仅支持白名单应用。出于信息安全的考虑,本接口目前升级中。升级完成前暂不接受开发者的授权申请。升级完成后,所有接入QQ登录的开发者将均可调用。 已接入过该接口的开发者,不需要更改调用的接口,将自动兼容。
通过调用Tencent类的challenge函数发送挑战信息。

调用发送挑战API的示例代码如下:

 private void onClickChallenge() {
	if (mTencent.isSessionValid() && mTencent.getOpenId() != null) {
		Bundle b = new Bundle();
		b.putString(Constants.PARAM_RECEIVER, "15762FF138EE42D88FE2234D3B89C44B");
		b.putString(Constants.PARAM_SEND_MSG, "向某某某发起挑战");
		b.putString(Constants.PARAM_IMG_URL, "http://i.gtimg.cn/qzonestyle/act/qzone_app_img/app888_888_75.png");;
		b.putString(Constants.PARAM_SOURCE, URLEncoder.encode(""));
		mTencent.challenge(this, b, new BaseUiListener());
	}
 }


调用挑战API参数说明如下:

参数 是否必传 类型 参数说明
Constants.PARAM_RECEIVER 必传 String 炫耀/挑战的用户的openid,应用传入的openid必须为当前用户的QQ好友且对方必须为已安装用户。

Receiver只能为1个,每天针对同一个好友只能挑战/炫耀一次。

Constants.PARAM_SEND_MSG 必传 String 炫耀/挑战中的内容描述。

长度限制:50个汉字(100个字符)以内,超过限制则自动从末尾截断。

Constants.PARAM_IMG_URL 可选 String 炫耀/挑战场景图的URL。
Constants.PARAM_SOURCE 可选 String 透传参数,由开发者自定义该参数内容。开发者可根据这个参数的内容,判断被炫耀/挑战的用户是点击哪个好友发送的信息。

例如:
用户A向C发送炫耀/挑战信息时,source的值为“openid=001”,用户B向C发送炫耀/挑战信息时,source的值为“openid=002”。当用户C点击信息链接进入应用时,url中会携带app_custom参数,如果app_custom的值为“openid=001”,说明C点击的信息是A发送的,如果app_custom的值为“openid=002”,说明C点击的信息是B发送的。

1.10 炫耀

特别声明:该接口目前仅支持白名单应用。出于信息安全的考虑,本接口目前升级中。升级完成前暂不接受开发者的授权申请。升级完成后,所有接入QQ登录的开发者将均可调用。 已接入过该接口的开发者,不需要更改调用的接口,将自动兼容。
通过调用Tencent类的brag函数实现向好友炫耀的功能。

调用炫耀API的示例代码如下:

 private void onClickBrag() {
	if (mTencent.isSessionValid() && mTencent.getOpenId() != null) {
		Bundle b = new Bundle();
		b.putString(Constants.PARAM_RECEIVER, "15762FF138EE42D88FE2234D3B89C44B");
		b.putString(Constants.PARAM_SEND_MSG, "向某某某炫耀一下");
		b.putString(Constants.PARAM_IMG_URL, "http://i.gtimg.cn/qzonestyle/act/qzone_app_img/app888_888_75.png");
		b.putString(Constants.PARAM_SOURCE, URLEncoder.encode(""));
		mTencent.brag(this, b, new BaseUiListener());
	}
}


调用炫耀API的参数与发送挑战API的参数相同。

1.11 获取用户信息

之前的API使用get_simple_userinfo, 修改为get_user_info。
调用获取用户信息API的示例代码如下:

  UserInfo info = new UserInfo(this, MainActivity.mQQAuth.getQQToken());
  info.getUserInfo(new BaseUIListener(this,"get_simple_userinfo"));


1.12 发布带图微博

本接口用于发送一条带有图片的微博。
调用发布带图微博API的示例代码如下:

 private void onClickUserInfo() {
        
 Bundle bundle = new Bundle();
        	bundle.putString("format", "json");
        	bundle.putString("content", "test add pic with url");
			 // 把 bitmap 转换为 byteArray , 用于发送请求
			Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
	        ByteArrayOutputStream baos = new ByteArrayOutputStream();
	        bitmap.compress(Bitmap.CompressFormat.JPEG, 40, baos);
	        byte[] buff = baos.toByteArray();
	        // Log.v(TAG, "length: " + buff.length);
			bundle.putByteArray("pic", buff);
			mTencent.requestAsync(Constants.GRAPH_ADD_PIC_T, bundle,
                  Constants.HTTP_POST, new BaseApiListener("add_pic_t", false), null);
			bitmap.recycle();

            mProgressDialog.show();
}


调用发布带图微博API参数说明如下:

参数 是否必传 类型 参数说明
format 可选 String 定义API返回的数据格式。

取值说明:为xml时表示返回的格式是xml;为json时表示返回的格式是json。
注意:json、xml为小写,否则将不识别。format不传或非xml,则返回json格式数据。

content 必传 String 表示要发表的微博内容。必须为UTF-8编码,最长为140个汉字,也就是420字节。

如果微博内容中有URL,后台会自动将该URL转换为短URL,每个URL折算成11个字节。
若在此处@好友,需正确填写好友的微博账号,而非昵称。

pic 必传 String 要上传的图片的文件名以及图片的内容(在发送请求时,图片内容以二进制数据流的形式发送,见下面的请求示例)。

图片仅支持gif、jpeg、jpg、png、bmp及ico格式(所有图片都会重新压缩,gif被重新压缩后不会再有动画效果),图片size小于4M。

1.13 分享消息到QQ(无需QQ登录)

分享消息到QQ的接口,可将新闻、图片、文字、应用等分享给QQ好友、群和讨论组。Tencent类的shareToQQ函数可直接调用,不用用户授权(使用手机QQ当前的登录态)。调用将打开分享的界面,用户选择好友、群或讨论组之后,点击确定即可完成分享,并进入与该好友进行对话的窗口。
本接口支持3种模式,每种模式的参数设置不同,下面分别进行介绍:
(1) 分享图文消息
调用分享接口的示例代码如下:

private void onClickShare() { 
    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,  "其他附加功能");		
    mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener());
}


调用分享接口的params参数说明如下:

参数 是否必传 类型 参数说明
QQShare.SHARE_TO_QQ_KEY_TYPE 必填 Int 分享的类型。图文分享(普通分享)填Tencent.SHARE_TO_QQ_TYPE_DEFAULT
QQShare.PARAM_TARGET_URL 必填 String 这条分享消息被好友点击后的跳转URL。
QQShare.PARAM_TITLE 必填 String 分享的标题, 最长30个字符。
QQShare.PARAM_SUMMARY 可选 String 分享的消息摘要,最长40个字。
QQShare.SHARE_TO_QQ_IMAGE_URL 可选 String 分享图片的URL或者本地路径
QQShare.SHARE_TO_QQ_APP_NAME 可选 String 手Q客户端顶部,替换“返回”按钮文字,如果为空,用返回代替
QQShare.SHARE_TO_QQ_EXT_INT 可选 Int 分享额外选项,两种类型可选(默认是不隐藏分享到QZone按钮且不自动打开分享到QZone的对话框):

QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN,分享时自动打开分享到QZone的对话框。
QQShare.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE,分享时隐藏分享到QZone按钮

(2) 分享纯图片
调用分享接口的示例代码如下:

private void onClickShare() {
    Bundle params = new Bundle();
    params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL,imageUrl.getText().toString());
    params.putString(QQShare.SHARE_TO_QQ_APP_NAME, appName.getText().toString());
    params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);
    params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN);
    mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener());
}
参数 是否必传 类型 参数说明
QQShare.SHARE_TO_QQ_KEY_TYPE 必选 Int 分享类型,分享纯图片时填写QQShare.SHARE_TO_QQ_TYPE_IMAGE。
QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL 必选 String 需要分享的本地图片路径。
QQShare.SHARE_TO_QQ_APP_NAME 可选 String 手Q客户端顶部,替换“返回”按钮文字,如果为空,用返回代替。
QQShare.SHARE_TO_QQ_EXT_INT 可选 Int 分享额外选项,两种类型可选(默认是不隐藏分享到QZone按钮且不自动打开分享到QZone的对话框):

QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN,分享时自动打开分享到QZone的对话框。
QQShare.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE,分享时隐藏分享到QZone按钮。

(3) 分享音乐
音乐分享后,发送方和接收方在聊天窗口中点击消息气泡即可开始播放音乐。
调用分享接口的示例代码如下:

private void onClickAudioShare() {
    final Bundle params = new Bundle();
    params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_AUDIO);
    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_AUDIO_URL, "音乐链接");
    params.putString(QQShare.SHARE_TO_QQ_APP_NAME,  "测试应用222222");
    params.putInt(QQShare.SHARE_TO_QQ_EXT_INT,QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN);		
    mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener());
}

调用分享接口的params参数说明如下:

参数 是否必传 类型 参数说明
QQShare.SHARE_TO_QQ_KEY_TYPE 必填 Int 分享的类型。分享音乐填Tencent.SHARE_TO_QQ_TYPE_AUDIO。
QQShare.PARAM_TARGET_URL 必选 String 这条分享消息被好友点击后的跳转URL。
QQShare.SHARE_TO_QQ_AUDIO_URL 必填 String 音乐文件的远程链接, 以URL的形式传入, 不支持本地音乐。
QQShare.PARAM_TITLE 必选 String 分享的标题, 最长30个字符。
QQShare.PARAM_SUMMARY 可选 String 分享的消息摘要,最长40个字符。
QQShare.SHARE_TO_QQ_IMAGE_URL 可选 String 分享图片的URL或者本地路径。
QQShare.SHARE_TO_QQ_APP_NAME 可选 String 手Q客户端顶部,替换“返回”按钮文字,如果为空,用返回代替。
QQShare.SHARE_TO_QQ_EXT_INT 可选 Int 分享额外选项,两种类型可选(默认是不隐藏分享到QZone按钮且不自动打开分享到QZone的对话框):

QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN,分享时自动打开分享到QZone的对话框。
QQShare.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE,分享时隐藏分享到QZone按钮。

(4) 分享应用
应用分享后,发送方和接收方在聊天窗口中点击消息气泡即可进入应用的详情页。
调用分享接口的示例代码如下:

private void onClickAppShare() {
    final Bundle params = new Bundle();
    params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_APP);
    params.putString(QQShare.SHARE_TO_QQ_TITLE, "要分享的标题");
    params.putString(QQShare.SHARE_TO_QQ_SUMMARY,  "要分享的摘要");
    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");
    mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener());
}

调用分享接口的params参数说明如下:

参数 是否必传 类型 参数说明
QQShare.SHARE_TO_QQ_KEY_TYPE 必填 Int 分享的类型。分享音乐填Tencent.SHARE_TO_QQ_TYPE_PP。
QQShare.PARAM_TITLE 必选 String 分享的标题, 最长30个字符。
QQShare.PARAM_SUMMARY 可选 String 分享的消息摘要,最长40个字符。
QQShare.SHARE_TO_QQ_IMAGE_URL 可选 String 分享图片的URL或者本地路径。
QQShare.SHARE_TO_QQ_APP_NAME 可选 String 手Q客户端顶部,替换“返回”按钮文字,如果为空,用返回代替。
QQShare.SHARE_TO_QQ_EXT_INT 可选 Int 分享额外选项,两种类型可选(默认是不隐藏分享到QZone按钮且不自动打开分享到QZone的对话框):

QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN,分享时自动打开分享到QZone的对话框。
QQShare.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE,分享时隐藏分享到QZone按钮。

1.14 分享到QQ空间(无需QQ登录)

完善了分享到QZone功能,分享类型参数Tencent.SHARE_TO_QQ_KEY_TYPE,目前只支持图文分享。Tencent. shareToQzone()函数可直接调用,不用用户授权(使用手机QQ当前的登录态)。调用后将打开手机QQ内QQ空间的界面,或者用浏览器打开QQ空间页面进行分享操作。
示例代码如下:

private void shareToQzone () {
  //分享类型
  params.putString(QzoneShare.SHARE_TO_QQ_KEY_TYPE,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, "跳转URL");//必填
    params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL, "图片链接ArrayList");
    mTencent.shareToQzone(activity, params, new BaseUiListener());
}

params参数说明如下:

参数 是否必传 类型 参数说明
QzoneShare.SHARE_TO_QQ_KEY_TYPE 选填 Int SHARE_TO_QZONE_TYPE_IMAGE_TEXT(图文)
QzoneShare.SHARE_TO_QQ_TITLE 必填 Int 分享的标题,最多200个字符。
QzoneShare.SHARE_TO_QQ_SUMMARY 选填 String 分享的摘要,最多600字符。
QzoneShare.SHARE_TO_QQ_TARGET_URL 必填 String 需要跳转的链接,URL字符串。
QzoneShare.SHARE_TO_QQ_IMAGE_URL 选填 String 分享的图片, 以ArrayList<String>的类型传入,以便支持多张图片(注:图片最多支持9张图片,多余的图片会被丢弃)。

注意:QZone接口暂不支持发送多张图片的能力,若传入多张图片,则会自动选入第一张图片作为预览图。多图的能力将会在以后支持。


1.15 语音API

特别声明:该接口目前仅支持白名单应用。出于信息安全的考虑,本接口目前升级中。升级完成前暂不接受开发者的授权申请。升级完成后,所有接入QQ登录的开发者将均可调用。 已接入过该接口的开发者,不需要更改调用的接口,将自动兼容。

调用语音API的params参数说明如下:
V2.0新增语音API,可以向QQ好友发送一段录制的语音。
示例代码如下:

private void onClickVoice() {
        Log.i("sample", "onClickVoice");
        if (ready()) { 
            if(voiceBundle == null){
                voiceBundle = new Bundle();
                // TODO keywords.voiceBundle.putString(SocialSocialConstants.PARAM_APP_ICON,
                        "http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif");
                voiceBundle.putString(SocialSocialConstants.PARAM_APP_DESC,
                        "AndroidSdk_2_0: invite description!");
                voiceBundle.putString(SocialSocialConstants.PARAM_ACT, "进入应用");
            }
            mTencent.voice(MainActivity.this, voiceBundle, new BaseUiListener());
        } 


params参数说明如下:

参数 是否必传 类型 参数说明
SocialConstants.PARAM_RECEIVER 必传 String 若receiver包含OpenID,则表示使用模式一(应用指定接收者模式);若receiver为空,代表使用模式二(用户指定接收者模式)。

1)传入的OpenID必须为应用内关系链,即为已安装该应用的QQ好友; 2)传入个数不得超过10个,若超过10个则自动截取前10个,剩余舍弃。 授权使用应用内关系链的应用才可使用模式一(应用指定接收者)。

SocialConstants.PARAM_IMG_DATA 必传 String 语音配图的二进制文件,若应用直接传入图片文件,则发送语音时附带上传。应用传入图片size不超过320*320,否则会被等比压缩。
SocialConstants.PARAM_IMG_URL 必传 String 语音配图的url连接,该参数与imgData参数二选一。如果imgData和url都传了,则优先选择imgData。
SocialConstants.PARAM_EXCLUDE 可选 String 在用户自己指定好友的场景中,如果开发者不希望某些用户显示在好友选择器中,可传入这些用户的openid,多个openid之间用“,”分隔(“exclude”和“specified”一共最多可传入50个openid),好友选择器则不显示这些openid对应的用户。
SocialConstants.PARAM_SPECIFIED 可选 String 在用户自己指定好友的场景中,如果开发者需要在好友选择器中显示指定的用户,可传入这些用户的。
openid,多个openid之间用“,”分隔(“exclude”和“specified”一共最多可传入50个openid),好友选择器会显示这些openid对应的用户。
SocialConstants.PARAM_ONLY 可选 String 仅当设置了PARAM_SPECIFIED,需要传入该参数,用于标识是否在好友选择器中只显示PARAM_SPECIFIED指定的用户。默认值为“0”。

“0”:显示PARAM_SPECIFIED指定的用户,同时显示好友列表和已安装好友。 “1”:只显示“specified”指定的用户,无好友列表和已安装好友。此时必须保证PARAM_SPECIFIED有可用的openid传入,否则会报错。

SocialConstants.PARAM_SOURCE 可选 String 由开发者自定义该参数内容,用于判断用户接收的哪个好友的礼物或请求。

例如: 用户A向C赠送礼物/发送好友请求时,source的值为“openid=001”,用户B向C赠送礼物/发送好友请求时,source的值为“openid=002”。当用户C点击链接进入免费礼物或好友请求的查看页面时,url中会携带app_custom参数,app_custom的值为“openid=001”,说明C响应的是A的请求,如果app_custom的值为“openid=002”,说明C响应的是B的请求。

1.16 好友召回

特别声明:该接口目前仅支持白名单应用。出于信息安全的考虑,本接口目前升级中。升级完成前暂不接受开发者的授权申请。升级完成后,所有接入QQ登录的开发者将均可调用。 已接入过该接口的开发者,不需要更改调用的接口,将自动兼容。
通过调用Tencent类的reactive函数发起好友召回。除了接受者能获得礼物以外,发送者也接收相应礼物。

调用发送请求接口的示例代码如下:

private void onClickReactive() {
    if (mTencent.isReady()) {
        Bundle params = new Bundle();
        params.putString(SocialConstants.PARAM_TITLE, "title字段测试");
        params.putString(SocialConstants.PARAM_SEND_MSG, "msg字段测试");              
params.putString(SocialConstants.PARAM_IMG_URL,"http://i.gtimg.cn/qzonestyle/act/qzone_app_img/app888_888_75.png");
       params.putString(SocialConstants.PARAM_REC_IMG, "http://i.gtimg.cn/qzonestyle/act/qzone_app_img/app888_888_75.png");
        params.putString(SocialConstants.PARAM_REC_IMG_DESC, "发送者获取礼物描述");
        mTencent.reactive(this, params, new BaseUIListener(SocialApiActivity.this));
    }
}


调用发送请求接口的参数说明如下:

参数 是否必传 类型 参数说明
SocialConstants.PARAM_TITLE 必传 String 应用奖励给发起召回的用户的奖品的名称。
SocialConstants.PARAM_SEND_MSG 必传 String 召回老友时的默认赠言,用户可修改,默认赠言请尽量简洁生动。
SocialConstants.PARAM_IMG_URL 必传 String 赠送给好友的礼物的图片url。
SocialConstants.PARAM_REC_IMG 必传 String 赠送给发送者的礼物图片url。
SocialConstants.PARAM_REC_IMG_DESC 必传 String 赠送给发送者的礼物的描述信息。
SocialConstants.PARAM_EXCLUDE 可选 String 在用户自己指定好友的场景中,如果开发者不希望某些用户显示在好友选择器中,可传入这些用户的openid,多个openid之间用“,”分隔(“exclude”和“specified”一共最多可传入50个openid),好友选择器则不显示这些openid对应的用户。
SocialConstants.PARAM_SPECIFIED 可选 String 在用户自己指定好友的场景中,如果开发者需要在好友选择器中显示指定的用户,可传入这些用户的openid,多个openid之间用“,”分隔(“exclude”和“specified”一共最多可传入50个openid),好友选择器会显示这些openid对应的用户。
SocialConstants.PARAM_ONLY 可选 String 仅当设置了“specified”,需要传入该参数,用于标识是否在好友选择器中只显示“specified”指定的用户。默认值为“0”。

“0”:显示“specified”指定的用户,同时显示好友列表和已安装好友。 “1”:只显示“specified”指定的用户,无好友列表和已安装好友。此时必须保证“specified”有可用的openid传入,否则会报错。

SocialConstants.PARAM_SOURCE 可选 String 由开发者自定义该参数内容,用于判断用户接收的哪个好友的礼物或请求。

例如:用户A向C发送好友召回时,source的值为“openid=001”,用户B向C发送好友召回时,source的值为“openid=002”。当用户C点击链接进入请求的查看页面时,url中会携带app_custom参数,app_custom的值为“openid=001”,说明C响应的是A的请求,如果app_custom的值为“openid=002”,说明C响应的是B的请求。

1.17 查询附近的人

特别声明:出于信息安全的考虑,本接口仅对可信赖的合作应用开放。已经成功接入“QQ登录”的应用需提交申请以获取访问本接口的权限。
查询附近都在玩此应用的人,通过调用Tencent类的searchNearby函数查询附近都在玩此应用的人。

使用此接口前需要在配置文件配置如下权限信息:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<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" />

调用发送请求接口的示例代码如下:

private void onClickSearchNearby() {
    	if (mTencent.isReady()) {
    		BaseUIListener l = new BaseUIListener(SocialApiActivity.this);
			mTencent.searchNearby(SocialApiActivity.this, null, l);
    	}
    }


调用接口返回json字段说明:

key value
total int型,返回附近人个数
openids Json数组,所有的附近人数组
nickname String类型,所属openids组,昵称
gender int型,所属openids组,性别,男为1,女为2,-1为未知
distance int型,所属openids组,用户离当前调用者的距离,单位“米”
page int型,查询附近的人以page为单位,每页做多100个,默认page为1,要显示更多信息,可在params参数指定page=2等等

返回码与错误信息的对照说明,请参考《返回码说明》文档。

1.18 删除用户位置信息

特别声明:出于信息安全的考虑,本接口仅对可信赖的合作应用开放。已经成功接入“QQ登录”的应用需《提交申请》以获取访问本接口的权限。
查询过位置信息的用户,后台保留了位置信息,添加入口给用户删除自己上传的位置信息,保护隐私。通过调用Tencent类的deleteLocation函数清除用户位置信息。
示例代码如下:

private void onClickDeleteLocation() {
    	if (mTencent.isReady()) {
    		BaseUIListener l = new BaseUIListener(SocialApiActivity.this);
			mTencent.deleteLocation(SocialApiActivity.this, null, l);
    	}
    }


返回码与错误信息的对照说明,请参考《返回码说明》文档。

1.19 启动应用吧

通过调用Tencent类的startAppbar函数启动应用吧相关界面,主要包含如下页面:应用吧详情页、我的消息页及发帖页面,通过参数标识跳转页面,参数如下:
AppbarAgent.TO_APPBAR_DETAIL //打开应用吧详情页
AppbarAgent.TO_APPBAR_NEWS //打开我的消息页
AppbarAgent.TO_APPBAR_SEND_BLOG //打开发帖页
使用此接口前需要在配置文件配置如下信息:

<activity
            android:name="com.tencent.open.yyb.AppbarActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />


调用接口的示例代码如下:

mTencent = Tencent.createInstance(APPID, SocialAppbarActivity.this);
mTencent.startAppbar(SocialAppbarActivity.this, AppbarAgent.TO_APPBAR_DETAIL);

1.20 打开应用吧标签页

通过调用Tencent类的startAppbarLabel函数启动应用吧标签页面,参数如下:
Label:需要跳转的标签值
和1.21一样需要配置AppbarActivity属性,详见1.21说明,调用接口的实例代码如下

mTencent = Tencent.createInstance(APPID, SocialAppbarActivity.this);
mTencent.startAppbarLabel(SocialAppbarActivity.this, label);

1.21 一键加群

通过调用Tencent类的joinQQGroup调用加群接口,参数如下:
Key:需要添加群的ID(申请ID请到qun.qq.com申请)
调用接口的示例代码如下:

mTencent = Tencent.createInstance(APPID, this);
mTencent.joinQQGroup(this, key);

1.22 一键绑群

通过调用Tencent类的bindQQGroup调用绑定群接口,参数如下:
Params:Bundle类型调用参数,必须包含:unionid, union_name, zoneid, signature字段

参数含义如下:

key value
unionid String型,公会ID
union_name String 型,公会名称
zoneid String型,区域ID
signature String型,游戏盟主身份验证签名,从游戏后台获取

调用接口的示例代码如下:

mTencent = Tencent.createInstance(APPID, this);
mTencent.bindQQGroup(this, params);


1.23 添加好友

通过调用Tencent类的makeFriend调用添加好友接口,参数如下:
Params:Bundle类型调用参数,必须包含:openid, label, message字段

参数含义如下:

key value
Openid String型,要添加好友的openid
Label String 型,要添加好友的备注
Message String型,验证信息

调用接口的示例代码如下:

Bundle params = new Bundle();
params.putString(GameAppOperation.GAME_FRIEND_OPENID, fopenid.getText() + "");
params.putString(GameAppOperation.GAME_FRIEND_LABEL, label.getText() + "");
params.putString(GameAppOperation.GAME_FRIEND_ADD_MESSAGE, message.getText() + "");
mTencent.makeFriend(GameLogicActivity.this, params);


1.24 收藏信息到QQ收藏(无需QQ登录)

收藏信息到QQ我的收藏接口,可将文本、图文、咨询链接(含视频链接)、音乐链接等信息发送到QQ【我的收藏】。Tencent类的addToQQFavorites函数可直接调用,不需要用户授权(使用手机QQ当前的登录态)。调用该接口将会有一个左图右文的弹窗让用户确认。

调用本接口,需要配置AndroidManifest,在com.tencent.tauth.AuthActivity中添加android:theme属性:

<activity
		android:name="com.tencent.tauth.AuthActivity"
		android:noHistory="true"
		android:theme="@android:style/Theme.Translucent"
		android:launchMode="singleTask" >


本接口支持4种模式,每种模式的参数设置不同,下面分别进行介绍:
(1) 文本收藏类型
调用文本信息收藏接口的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putInt(GameAppOperation.QQFAV_DATALINE_REQTYPE, GameAppOperation.QQFAV_DATALINE_TYPE_TEXT);
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString());
mTencent.addToQQFavorites (activity, params, new BaseUiListener());


调用文本信息收藏接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 必填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName
GameAppOperation.QQFAV_DATALINE_TITLE 可选 String 信息的标题。
GameAppOperation.QQFAV_DATALINE_REQTYPE 必填 int 类型,纯文本类型为:GameAppOperation.QQFAV_DATALINE_TYPE_TEXT
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 必填 String 信息的正文内容。

(2) 图文类信息收藏
调用图文信息收藏接口的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putInt(GameAppOperation.QQFAV_DATALINE_REQTYPE,GameAppOperation.QQFAV_DATALINE_TYPE_IMAGE_TEXT);
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString()
                                    + GameAppOperation.PIC_SYMBOLE);
params.putStringArrayList(GameAppOperation.QQFAV_DATALINE_FILEDATA, fileDataList);
mTencent.addToQQFavorites (activity, params, new BaseUiListener());


调用图文信息收藏接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 必填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName
GameAppOperation.QQFAV_DATALINE_TITLE 可选 String 信息的标题。
GameAppOperation.QQFAV_DATALINE_REQTYPE 必填 int 类型,图文类型为:GameAppOperation.QQFAV_DATALINE_TYPE_IMAGE_TEXT
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 可选 String 图片的描述信息,如果有多图,则每个图片对应的描述信息使用GameAppOperation.PIC_SYMBOLE来隔开。
GameAppOperation.QQFAV_DATALINE_FILEDATA 必填 ArrayList<String> 图片路径List:包含本地图片和网络图片,可以有多个。

(3) 音乐类信息收藏
调用音乐收藏后,在手机QQ【我的手藏】里面点击消息气泡即可开始播放音乐。
调用音乐类信息收藏接口的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putInt(GameAppOperation.QQFAV_DATALINE_REQTYPE,GameAppOperation.QQFAV_DATALINE_TYPE_AUDIO);
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_IMAGEURL, imageUrl.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_URL, targetUrl.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_AUDIOURL, audioUrl.getText().toString());
mTencent.addToQQFavorites (activity, params, new BaseUiListener());


调用音乐类信息收藏接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 必填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName
GameAppOperation.QQFAV_DATALINE_TITLE 可选 String 信息的标题。
GameAppOperation.QQFAV_DATALINE_REQTYPE 必填 int 类型,音乐类型为:GameAppOperation.QQFAV_DATALINE_TYPE_AUDIO
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 可选 String 描述信息。
GameAppOperation.QQFAV_DATALINE_IMAGEURL 必填 String 预览图地址:可以为本地图片地址或网络图片地址
GameAppOperation.QQFAV_DATALINE_URL 必填 String 详情页地址
GameAppOperation.QQFAV_DATALINE_AUDIOURL 必填 String 音乐播放地址

(4)资讯类(包含视频)收藏
调用资讯类(包含视频)收藏后,在手机QQ【我的手藏】里面点击消息气泡即可进入资讯类的详情页。
调用资讯类(包含视频)收藏接口的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putInt(GameAppOperation.QQFAV_DATALINE_REQTYPE,GameAppOperation.QQFAV_DATALINE_TYPE_DEFAULT);
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_IMAGEURL, imageUrl.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_URL, targetUrl.getText().toString());
mTencent.addToQQFavorites (activity, params, new BaseUiListener());


调用资讯类(包含视频)收藏接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 必填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName
GameAppOperation.QQFAV_DATALINE_TITLE 可选 String 信息的标题。
GameAppOperation.QQFAV_DATALINE_REQTYPE 必填 int 收藏的类型,资讯类型为:GameAppOperation.QQFAV_DATALINE_TYPE_DEFAULT
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 可选 String 描述信息。
GameAppOperation.QQFAV_DATALINE_IMAGEURL 必填 String 预览图地址:可以为本地图片地址或网络图片地址
GameAppOperation.QQFAV_DATALINE_URL 必填 String 详情页地址

1.25 发送信息到QQ我的电脑(无需QQ登录)

发送信息到QQ我的电脑接口,可将文本、图文、咨询链接(含视频链接)、音乐链接等信息发送到手机QQ【我的电脑】。Tencent类的sendToMyComputer函数可直接调用,不需要用户授权(使用手机QQ当前的登录态)。
建议显示给用户的入口名称为【发送到电脑】。
注意:发送成功以后,在弹出的成功提示框中选择【留在QQ】,则不会回调Listener,选择【返回<AppName>】才会调用Listener。
本接口支持4种模式,每种模式的参数设置不同,下面分别进行介绍:
(1) 文本类信息
调用文本信息接口的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putInt(GameAppOperation.QQFAV_DATALINE_REQTYPE, GameAppOperation.QQFAV_DATALINE_TYPE_TEXT);
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString());
mTencent.sendToMyComputer(activity, params, new BaseUiListener());


调用文本信息接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 必填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName。
GameAppOperation.QQFAV_DATALINE_TITLE 可选 String 信息的标题。
GameAppOperation.QQFAV_DATALINE_REQTYPE 必填 int 类型,纯文本类型为:GameAppOperation.QQFAV_DATALINE_TYPE_TEXT
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 必填 String 信息的正文内容。

(2) 图文类信息
调用图文信息接口的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putInt(GameAppOperation.QQFAV_DATALINE_REQTYPE,GameAppOperation.QQFAV_DATALINE_TYPE_IMAGE_TEXT);
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString());
params.putStringArrayList(GameAppOperation.QQFAV_DATALINE_FILEDATA, fileDataList);
mTencent.sendToMyComputer(activity, params, new BaseUiListener());


调用图文信息接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 必填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName。
GameAppOperation.QQFAV_DATALINE_TITLE 可选 String 信息的标题。
GameAppOperation.QQFAV_DATALINE_REQTYPE 必填 int 类型,图文类型为:GameAppOperation.QQFAV_DATALINE_TYPE_IMAGE_TEXT
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 可选 String 图片的描述信息,只会在弹出的确认框中展示,并不会跟随图片发送到【我的电脑】
GameAppOperation.QQFAV_DATALINE_FILEDATA 必填 ArrayList<String> 图片路径List:包含本地图片和网络图片,可以有多个。

(3) 音乐类信息
调用音乐类信息接口的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putInt(GameAppOperation.QQFAV_DATALINE_REQTYPE,GameAppOperation.QQFAV_DATALINE_TYPE_AUDIO);
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_IMAGEURL, imageUrl.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_URL, targetUrl.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_AUDIOURL, audioUrl.getText().toString());
mTencent.sendToMyComputer (activity, params, new BaseUiListener());


调用音乐类信息接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 必填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName。
GameAppOperation.QQFAV_DATALINE_TITLE 可选 String 信息的标题。
GameAppOperation.QQFAV_DATALINE_REQTYPE 必填 int 类型,音乐类型为:GameAppOperation.QQFAV_DATALINE_TYPE_AUDIO
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 可选 String 音乐描述信息。
GameAppOperation.QQFAV_DATALINE_IMAGEURL 必填 String 预览图地址:可以为本地图片地址或网络图片地址
GameAppOperation.QQFAV_DATALINE_URL 必填 String 详情页地址
GameAppOperation.QQFAV_DATALINE_AUDIOURL 必填 String 音乐播放地址

(4) 资讯类(包含视频)
调用资讯类(包含视频)接口的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putInt(GameAppOperation.QQFAV_DATALINE_REQTYPE,GameAppOperation.QQFAV_DATALINE_TYPE_DEFAULT);
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_IMAGEURL, imageUrl.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_URL, targetUrl.getText().toString());
mTencent.sendToMyComputer(activity, params, new BaseUiListener());


调用资讯类(包含视频)接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 必填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName。
GameAppOperation.QQFAV_DATALINE_TITLE 可选 String 信息的标题。
GameAppOperation.QQFAV_DATALINE_REQTYPE 必填 int 类型,资讯类型为:GameAppOperationQQFAV_DATALINE_TYPE_DEFAULT
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 可选 String 资讯描述信息。
GameAppOperation.QQFAV_DATALINE_IMAGEURL 必填 String 预览图地址:可以为本地图片地址或网络图片地址
GameAppOperation.QQFAV_DATALINE_URL 必填 String 详情页地址

1.26 分享信息到QQ群部落(无需QQ登录)

分享信息到QQ群部落接口,可将文本、本地图片等信息分享到QQ群部落。Tencent类的shareToTroopBar函数可直接调用,不需要用户授权(使用手机QQ当前的登录态)。调用该接口会唤起手机QQ发送至群部落界面。 该接口仅支持手机QQ5.3及以上版本。 调用分享信息到QQ群部落的示例代码如下:

final Bundle params = new Bundle();		
params.putString(GameAppOperation.QQFAV_DATALINE_APPNAME, appName.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_TITLE, title.getText().toString());
params.putString(GameAppOperation.QQFAV_DATALINE_DESCRIPTION, description.getText().toString());
params.putString(GameAppOperation.TROOPBAR_ID, troopbarId.getText().toString());
params.putStringArrayList(GameAppOperation.QQFAV_DATALINE_FILEDATA, fileDataList);
mTencent.shareToTroopBar(activity, params, new UiListener());


调用分享信息到QQ群部落接口的params参数说明如下:

参数 是否必传 类型 参数说明
GameAppOperation.QQFAV_DATALINE_APPNAME 选填 String 应用的名称,SDK会通过传入的activity得到应用的名称,如果通过activity得不到应用名称,则会使用传入的这个AppName。
GameAppOperation.QQFAV_DATALINE_TITLE 必填 String 信息的标题。(字数限制在4~25字之间)
GameAppOperation.QQFAV_DATALINE_DESCRIPTION 必填 String 信息的正文内容。(字数限制在10~700字之间)
GameAppOperation.TROOPBAR_ID 选填 String 部落ID, 一般为纯数字。
GameAppOperation.QQFAV_DATALINE_FILEDATA 选填 ArrayList<String> 配图地址信息, 只支持本地图片绝对路径地址,最多可填9张图片。

1.27 Server-Side登录模式

通过调用Tencent类的loginServerSide函数发起Server-Side模式登录。
调用该接口,会启动一个交互界面,完成用户登录和授权的交互流程,通过回调得到server返回的code和openId。其中code的值保存在access_code字段里面。
当安装了手机QQ时,SDK会启用手机QQ的特定Activity,通过此Activity完成登录和授权功能。 当没有找到此Activity时,SDK会执行Oauth2.0的User-Agent流程,即显示一个包含WebView的对话框, 通过加载登录授权网页来完成登录和授权的交互流程。
调用Server-Side模式登录接口的示例代码如下:

private void doLogin() {
	IUiListener listener = new BaseUiListener() {
		@Override
		protected void doComplete(JSONObject values) {
			updateLoginButton();
		}
	};
	mTencent.loginServerSide(this, SCOPE, listener);
}


调用登录接口的参数说明如下:

参数 参数说明
activity 调用者activity。应用使用SDK时,会从应用自己的Activity跳转到SDK的Activity,应用调用SDK的Activity即为这里的调用者activity。
scope 应用需要获得哪些接口的权限,由“,”分隔。例如:

SCOPE = “get_simple_userinfo,add_topic”;所有权限用“all”

listener 回调接口,IUiListener实例。

注:在某些低端机上调用登录后,由于内存紧张导致APP被系统回收,登录成功后无法成功回传数据。
解决办法如下。 在调用login的Activity或者Fragment重写onActivityResult方法,示例代码如下:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	if(requestCode == Constants.REQUEST_API) {
	    if(resultCode == Constants.RESULT_LOGIN) {
	        mTencent.handleLoginData(data, loginListener);
	        Log.d(TAG, "-->onActivityResult handle logindata");
	    }	
	}
	super.onActivityResult(requestCode, resultCode, data);
}


2. WPA接口

对于WPA用户, 无需加其为好友就能和其进行会话, 这里我们提供2个接口,一个是获取WPA用户的在线状态, 一个是发起会话。

2.1 查询WPA用户在线状态

mTencent.getWPAUserOnlineState(uin,NewWPAApiListener("get_uin_state",false,WPAActivity.this));

参数uin是对方的QQ号码。
在onComplete里返回的response是个String,如果在线是{"online":1}, 如果不在线是{"online":0}。

2.2 发起WPA会话

发起会话:

int ret = Tencent.startWPAConversation(WPAActivity.this,uin, "");

参数uin是对方的QQ号码。
ret为0表示打开了手Q的会话窗口,其他则为错误。

2.3 发起群会话

发起群会话:

int ret = Tencent.startWPAConversation(WPAActivity.this, WPA.CHAT_TYPE_GROUP, uin, "");


ret为0表示打开了手Q的群会话窗口. 其他则为错误.

参数 参数说明
activity 调用者activity。应用使用SDK时,会从应用自己的Activity跳转到SDK的Activity,应用调用SDK的Activity即为这里的调用者activity。
chatType 会话类型,群会话为:WPA.CHAT_TYPE_GROUP
text 附加消息


3. 微云API调用说明

3.1 上传文件到微云

上传文件到微云,支持图片、音乐、视频等。
通过实例化UploadFileToWeiyun类来进行操作,调用start方法上传,支持监听上传进度。

调用示例如下:

 /**
 * 上传文件到微云
 * @param tencent
 * @param path 文件路径
 * @param url 上传文件的cgi
 * @param listener 上传文件监听
 */
 uploadFileToWeiyun upload = new UploadFileToWeiyun(mTencent,filepath,mRequestUrl,
 	new IUploadFileToWeiyunStatus() {
 		
 		@Override
 		public void onUploadSuccess() {
			Log.i("weiyun_test", "upload success");
			if (OperationSelectActivity.this.isFinishing()) {
				return;
			}
			mProgress.dismiss();
			Toast.makeText(OperationSelectActivity.this, "文件成功上传,打开微云客户端即可查看", Toast.LENGTH_SHORT).show();
		}
		
		@Override
		public void onUploadStart() {
			Log.i("weiyun_test", "upload start");
			if (OperationSelectActivity.this.isFinishing()) {
				return;
			}
			mProgress.setMessage("上传文件文件中,请稍候...");
		}
		
		@Override
		public void onUploadProgress(int progress) {
			Log.i("weiyun_test", "upload progress" + progress + "%");
			if (OperationSelectActivity.this.isFinishing()) {
				return;
			}
			mProgress.setMessage("上传文件文件中 " + progress + "%   请稍候...");
		}
		
		@Override
		public void onPrepareStart() {
			Log.i("weiyun_test", "prepare start");
			if (OperationSelectActivity.this.isFinishing()) {
				return;
			}
			mProgress.setMessage("准备上传文件,请稍候...");
			mProgress.show();
		}
		
		@Override
		public void onError(String info) {
			Log.e("weiyun_test", "upload error:   " + info + "");
			if (OperationSelectActivity.this.isFinishing()) {
				return;
			}
			mProgress.dismiss();
			Toast.makeText(OperationSelectActivity.this, "文件上传失败", Toast.LENGTH_SHORT).show();
		}
	});
 upload.start();

3.2 从微云下载文件

从微云下载文件,支持图片、音乐、视频等。
通过实例化DownloadFileFromWeiyun类进行操作,调用start开始下载,支持监听下载进度。

调用示例如下:

 /**
 * 从微云下载文件
 * @param tencent
 * @param file_id 文件id
 * @param actiontype 下载类型
 * @param filesize 文件大小
 * @param path 保存文件路径
 * @param filename 保存文件名
 * @param listener 下载进度监听
 */
 downloadFileFromWeiyun down = new DownloadFileFromWeiyun(
	mTencent,
	file_info_list.get(position).mFile_id, actiontype,
	file_info_list.get(position).mSize, "weiyun_test", file_info_list.get(position).mName,
	new IDownloadFileFromWeiyunStatus() {

		@Override
		public void onPrepareStart() {
			if (isFinishing()) {
				return;
			}
			mProgress.setMessage("文件下载准备中,请稍等.....");
			mProgress.show();
		}

		@Override
		public void onError(String info) {
			if (isFinishing()) {
				return;
			}
			mProgress.dismiss();
			Toast.makeText(FileListActivity.this, "文件下载失败", Toast.LENGTH_SHORT).show();
		}

		@Override
		public void onDownloadSuccess(String filepath) {
			if (isFinishing()) {
				return;
			}
			mProgress.dismiss();
			Toast.makeText(FileListActivity.this, "文件下载成功,路径是:" + filepath + "", Toast.LENGTH_SHORT).show();
			if (actiontype == weiyunConstants.ACTION_PICTURE) {
				ImageViewDialog dlg = new ImageViewDialog(FileListActivity.this, filepath);
				dlg.show();
			}
		}

		@Override
		public void onDownloadStart() {
			mProgress.setMessage("文件正在下载,请稍等.....");
		}

		@Override
		public void onDownloadProgress(int progress) {
			mProgress.setMessage("文件正在下载: "+progress+"%   "+"请稍等.....");
		}
 	});
 down.start();

3.3 上传结构化数据

允许用户上传自定义的结构化数据,这里要注意的就是参数key和value都必须使用只包含16进制数字的字符串。

调用示例如下:

 /**
 * 上传
 * @param graphPath cgi
 * @param params cgi参数
 * @return 返回数据
 */
 String url = "https://graph.qq.com/weiyun/create_record";
 Bundle params = new Bundle();
 params.putString("key", Util.toHexString(key));
 params.putByteArray("value", Util.toHexString(value).getBytes()); 
 JSONObject response = null; 
 //try {
 response = mTencent.upload(url, params);
 boolean success=true;
 if(response!=null){
	try{
		int ret=response.getInt("ret");
		if(ret==0){
			runOnUiThread(new Runnable() {
				@Override
				public void run() {
				 	Toast.makeText(RecordOperationActivity.this, "成功写入一条记录", Toast.LENGTH_SHORT).show();
				}
			});
  		}
 		else{
 			success=false;
 		}
 	}
 	catch (Exception e){
 		success=false;
 	}
 }
 else{
 	success=false;
 }
 if(!success){
 	runOnUiThread(new Runnable() {
 		@Override
 		public void run() {
 			Toast.makeText(RecordOperationActivity.this, "写入记录失败", Toast.LENGTH_SHORT).show();
 		}
 	});
 }

4. 开发者提供给手机Qzone的API说明

针对开发者作为数据提供的应用,如果要使用Android SDK来作为数据内容的提供者,比如提供图片或者视频,需要按以下步骤来实现:
Step1:需要一个Activity来接受QQ应用的调用,对这个Activity,对应的AndroidManifest.xml的配置如下:

 <activity android:name="com.sample.DataProviderActivity">
    <intent-filter>
       <action android:name="android.intent.action.VIEW" /> 
       <category android:name="android.intent.category.DEFAUL T"/>
       <data android:scheme="tencent222222.data" />
    </intent-filter>
 </activity>

这里scheme的格式是"tencent" + appid + ".data"。

Step2:在DataProviderActivity的onCreate函数里,必须添加如下代码:

public class DataProviderActivity extends Activity {
    private CallbackManager mCalledManager;
    ...
    protected void onCreate(Bundle savedInstanceState) {
  	    super.onCreate(savedInstanceState);
      	mCalledManager = new CallbackManager(this); //构建CallbackManager对象 
      ...
   }
...


Step3:如果要将生成的图片,视频内容发回到QQ的应用里,按照下方的代码来实现:

 public void onClick(View v) {
 	switch (v.getId()) {
	case R.id.sendimagepathbth: //发送文本和图片路径
		int errorCode = mCalledManager.sendTextAndImagePath ("图片说明文本", 
             "/sdcard/DCIM/Camera/101020.jpg");
        If (errorCode == 0) {
            finish();
        } else {
            ...
        }
     	break;
		case R.id.sendvideopathbtn:
			int errorCode = mCalledManager.sendTextAndVideoPath("视频说明文本", 
                  "/sdcard/DCIM/Camera/101021.mp4");
            If (errorCode == 0) {
               finish();
            } else {
               ...
            }
			break;
		case R.id.sendtextonlybtn:
			int errorCode = mCalledManager.sendTextOnly("文本内容");
            If (errorCode == 0) {
               finish();
            } else {
               ...
            }
			break;
    }

这里支持3种内容格式:1是文本和图片路径;2是文本和视频路径;3是纯文本。
路径支持本地路径和url地址,本地路径必须是在sd卡上的路径。

对应的错误代码有以下值:

public final class ErrorCode {
	public static final int Success = 0;
	public static final int NotSupportThisDataType = -1;
	public static final int NotFromTencentApp = -2;
	public static final int NotFoundReturnActivity = -3;
	public static final int NotFoundTargetApp = -4;
	public static final int FileNotInSdCard = -5;
	public static final int FileSizeTooLarge = -6;
	public static final int PathIsNull = -7;
	public static final int FileNotExist = -8;
	public static final int FileIsEmpty = -9;
	public static final int SdCardNotExist = -10;

}


Step4:检查QQ调用方请求的数据类型。

mCalledManager.isSupportType(DataType.TEXT_AND_IMAGE_PATH)

如果返回true则表示支持,否则不支持。这里DataType的定义如下:

public final class DataType {
		public static final int TEXT_AND_IMAGE_PATH = 0x1; //文本和图片路径

public static final int TEXT_AND_VIDEO_PATH = 0x2; //文本和视频路径 public static final int TEXT_ONLY = 0x4; //纯文本 }


Step5:在调用下面这三个方法后,如果返回值是0, 建议finish掉Activity。

mCalledManager.sendTextAndImagePath(...)
mCalledManager.sendTextAndVideoPath(...)
mCalledManager.sendTextOnly(...)

}

5. V3和互联API互调说明

在open.qq.com上,API分成应用接入的API和网站接入的API两种,不管是哪一种应用,这两种API的方式都能直接调用。(以/v3/路径开头的都是应用接入API)

对于应用接入的API来说,下面几个参数是需要注意的:

参数名 作用
appid 保存应用的appid
openkey 当前用户的登陆凭证
sig 当前请求串的签名


而对于网站接入的API来说,下面的几个参数也是需要注意的:

参数名 作用
oauth_consumer_key 保存应用的appid
access_token 当前用户的登陆凭证


当我们拿到access token时,如果要调用应用接入的API,那么就要相应地在appid里填入应用ID,在openkey里填入access token的值,并进行sig的签名计算。如果不想进行sig的签名计算,那么直接以https来进行请求。
当我们拿到openkey时,如果要调用网站接入的API,那么就要相应地在oauth_consumer_key里填入应用ID,在access_token里填入openkey的值。并以https的方式来进行请求。
下面给出几个例子:
1. OpenKey方式调用网站接入的API

 appid=12345
 openid=F04997F71F1CDAEA8C28391498F85CDE
 openkey=47808C3CF4EACD9EB5A50E69B42AE0AE

当前请求串为:

http://119.147.19.43/v3/user/is_login?openid=F04997F71F1CDAEA8C28391498F85CDE&openkey=47808C3CF4EACD9EB5A50E69B42AE0AE&appid=12345&pf=qzone&
format=json&userip=10.17.85.52&sig=3ZMWh%2FCTp%2Bn2y9%2Bd9U0slWKTFpo%3D


切换到网站接入API后的请求串为:

https://119.147.19.43/user/get_app_friends?openid=F04997F71F1CDAEA8C28391498F85CDE&access_token=47808C3CF4EACD9EB5A50E69B42AE0AE&oauth_consumer_key
=12345&format=json&userip=10.17.85.52


2. AccessToken方式调用应用接入的API,请参考上面的例子,互换参数名即可。

6. 返回码说明

使用SDK时,所有结果都会通过回调返回给应用。在回调的结果中,会包含每次调用结果的返回码。
正常情况下返回码为0,表示调用成功。
如果返回码不为0,说明调用出错,需要根据返回码的值来定位错误原因。
返回码与错误信息的对照说明,请参考《mobile/公共返回码说明 |返回码说明》。

7. 登录常见错误码信息

110201:未登陆
110405:登录请求被限制
110404:请求参数缺少appid
110401:请求的应用不存在
110407:应用已经下架
110406:应用没有通过审核
100044:未经过安全校验的包名和签名button_21.png
110500:获取用户授权信息失败
110501:获取应用的授权信息失败
110502:设置用户授权失败
110503:获取token失败
110504:系统内部错误

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

Copyright © 1998 - 2017 Tencent. All Rights Reserved.

腾讯公司 版权所有

有问必答 返回顶部