点击消息名称,就能查看具体的返回信息字段
1、为用户开通消息服务
public interface MessageHandler { /** *消息服务客户端收到消息后,会回调该方法处理具体的业务,处理结果可以通过以下两种方式来表述: <li>抛出异常或设置status.fail()表明消息处理失败,需要消息服务端重发 <li>不抛出异常,也没有设置status信息,则表明消息处理成功,消息服务端不会再投递此消息 @param message消息内容 @param status处理结果,如果调用status.fail(),消息服务将会择机重发消息;否则,消息服务认为消息处理成功 @throws Exception消息处理失败,消息服务将会择机重发消息 */ public void onMessage(Messagemessage,MessageStatusstatus)throws Exception; }
TmcClient client=new TmcClient("app_key","app_secret","default"); client.setMessageHandler(new MessageHandler(){ public void onMessage(Message message,MessageStatus status){ try{ System.out.println(message.getContent()); System.out.println(message.getTopic()); //默认不抛出异常则认为消息处理成功 }catch(Exceptione){ e.printStackTrace(); status.fail();//消息处理失败回滚,服务端需要重发 } } }); client.connect();
TaobaoClient client=new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest","app_key","app_secret","json"); do{ longquantity=100L; TmcMessagesConsumeResponse rsp=null; do{ TmcMessagesConsumeRequest req=new TmcMessagesConsumeRequest(); req.setQuantity(quantity); req.setGroupName("default"); rsp=client.execute(req); if(rsp.isSuccess()&&rsp.getMessages()!=null){ for(TmcMessagemsg:rsp.getMessages()){ //handlemessage System.out.println(msg.getContent()); System.out.println(msg.getTopic()); //confirmmessage TmcMessagesConfirmRequest cReq=newTmcMessagesConfirmRequest(); cReq.setGroupName("default"); cReq.setsMessageIds(String.valueOf(msg.getId())); TmcMessagesConfirmResponse cRsp=client.execute(cReq); System.out.println(cRsp.getBody()); } } System.out.println(rsp.getBody()); }while(rsp!=null&&rsp.isSuccess()&&rsp.getMessages()!=null&&rsp.getMessages().size()==quantity); Thread.sleep(3000L); }while(true);
<? include("tmcmessagesconsumerequest.php"); include("topclient.php"); include("TmcMessagesConfirmRequest.php"); //实例化TopClient类 $c=new TopClient; $c->appkey="21749834"; $c->secretKey="83d21fd8f1ba9f150c774a568deef058"; $c->gatewayUrl="http://gw.api.taobao.com/router/rest"; $c->format="json"; //实例化具体API对应的Request类 $req=new TmcMessagesConsumeRequest; $req->setQuantity(10); $resp=$c->execute($req); print_r($resp); for($i=0;$i<count($resp->messages->tmc_message);$i++) { $messages_ids.=$resp->messages->tmc_message[$i]->id.","; } $messages_ids=substr($messages_ids,0,strlen($messages_ids)-1); /* *dosomething * **/ echo$messages_ids; //确认消息 $req2=new TmcMessagesConfirmRequest; $req2->setSMessageIds($messages_ids); $resp2=$c->execute($req2); ?>