2010年10月22日星期五

在GAE上简单实现了一个淘宝客

在网上无意搜到一个用Ext实现的淘宝客,恩 ,咱用GWT做一个车轮

下了淘宝的 SDK for java就开干 参考API文档按部就班

在淘宝的沙箱里测试,很顺利,乘胜前进,到正式环境下测试

问题来了

invalid signature

网上搜了一通,有说时间戳不对,果不其然,GAE使用的是标准时间,整整差了8小时,遂在获得的当前时间上加了8小时,OK

invalid signature 可能的另一个原因是APP_KEY 或 APP_SERCET不正确,仔细检查

 

调用 taobao.item.get

 

1 TaobaoClient client=new DefaultTaobaoClient(TaobaokeConstant.SANDBOX_URL, TaobaokeConstant.APP_KEY, TaobaokeConstant.APP_SERCET);
2 ItemcatsGetRequest req=new ItemcatsGetRequest();
3 java.util.Calendar c=java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
4 c.add(Calendar.HOUR, 8);
5 req.setTimestamp(c.getTime().getTime()) ;
6 req.setParentCid(new Long(0));
7 ItemcatsGetResponse response=client.execute(req);
8 return response.getItemCats();

 

调用 taobao.taobaoke.items.get 1 TaobaoClient client=new DefaultTaobaoClient(TaobaokeConstant.SANDBOX_URL, TaobaokeConstant.APP_KEY,TaobaokeConstant.APP_SERCET);
2 TaobaokeItemsGetRequest req=new TaobaokeItemsGetRequest();
3 req.setFields("num_iid,title,nick,pic_url,price,click_url,commission,commission_rate,commission_num,commission_volume,shop_click_url,seller_credit_score,item_location,volume,taobaoke_cat_click_url,keyword_click_url");
4 req.setCid(Long.parseLong(cid));
5 req.setNick(TaobaokeConstant.NICK);
6 req.setSort("commissionRate_desc");
7 TaobaokeItemsGetResponse response=client.execute(req);
8 return response.getTaobaokeItems(); 想用GAE JCache API 加入缓存以减轻压力,但屡试不行,从缓存中取 的时候报错没找到原因 改用自己写的缓存,然后用App Engine Cron 服务管理缓存 corn.xml 1 <?xml version="1.0" encoding="UTF-8"?>
2 <cronentries>
3   <cron>
4     <url>/cron/recache</url>
5     <description>Repopulate the cache every 1 hours</description>
6     <schedule>every 1 hours</schedule>
7   </cron>
8 </cronentries>

没有评论:

发表评论