com.tencent.tauth.Tencent.ask
1. 接口说明
给应用好友发送请求、赠送礼物
2. 使用场景
用户可以向安装了同一应用的好友发起请求或者赠送礼物
3. 接口调用说明
3.1 接口方法
1)发送请求
int com.tencent.tauth.Tencent.ask(Activity arg0, Bundle arg1, IUiListener arg2)
2)赠送礼物
int com.tencent.tauth.Tencent.gift(Activity arg0, Bundle arg1, IUiListener arg2)
3.2 参数说明
| Bundle 参数 | 是否必传 | 类型 | 参数说明 |
|---|---|---|---|
| Constants.PARAM_RECEIVER | 必传 | String | 若receiver包含OpenID,则表示使用模式一(应用指定接收者模式);若receiver为空,代表使用模式二(用户指定接收者模式) 1) 传入的OpenID必须为应用内关系链,即为已安装该应用的QQ好友 2) 传入个数不得超过10个,若超过10个则自动截取前10个,剩余舍弃 授权使用应用内关系链的应用才可使用模式一(应用指定接收者) |
| 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的请求。 |
3.3 示例代码
private void onClickAsk() {
if (mTencent.isSessionValid() && mTencent.getOpenId() != null) {
String receiverId = "15762FF138EE42D88FE2234D3B89C44B";
String title = "title字段测试";
String msg = "msg字段测试";
String imgUrl = "http://i.gtimg.cn/qzonestyle/act/qzone_app_img/app888_888_75.png";
Bundle b = new Bundle();
b.putString(Constants.PARAM_RECEIVER, receiverId);
b.putString(Constants.PARAM_TITLE, title);
b.putString(Constants.PARAM_SEND_MSG, msg);
b.putString(Constants.PARAM_IMG_URL, imgUrl);
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());
}
}
3.4 返回码说明
0: 正确
其它: 失败
OpenAPI公共错误码说明详见:Android常见问题及公共返回码说明。