
com.jeecg.weibo.api.WeiboStatusesApi Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of weixin4j Show documentation
Show all versions of weixin4j Show documentation
微信和钉钉开发SDK,主要提供微信、企业微信、钉钉的JAVA封装,降低集成难度,让API变简单
The newest version!
package com.jeecg.weibo.api;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jeecg.weibo.dto.WeiBoMentionsDto;
import com.jeecg.weibo.dto.WeiboUserTimelineDto;
import com.jeecg.weibo.exception.BusinessException;
import com.jeecg.weibo.util.HttpUtil;
import com.jeecg.weibo.util.WeiboStatusesUtil;
public class WeiboStatusesApi {
private static final Logger logger = LoggerFactory.getLogger(WeiboStatusesApi.class);
//1、获取用户发布的微博的url
private static final String user_timeline_url="https://api.weibo.com/2/statuses/user_timeline.json?1=1";
//2、获取用户发布的微博的ID的url
private static final String user_timeline_ids_url="https://api.weibo.com/2/statuses/user_timeline/ids.json?1=1";
//3、获取批量获取指定微博的转发数评论数的url
private static final String count_url="https://api.weibo.com/2/statuses/count.json?1=1";
//4、根据ID获取单条微博信息的url
private static final String show_url="https://api.weibo.com/2/statuses/show.json?1=1";
//5、获取@当前用户的最新微博的url
private static final String mentions_url="https://api.weibo.com/2/statuses/mentions.json?1=1";
//6、获取@当前用户的最新微博的ID的url
private static final String mentions_ids_url="https://api.weibo.com/2/statuses/mentions/ids.json?1=1";
/**
* @param access_token OAuth授权必填参数
*
* 获取用户发布的微博接口
*/
public static JSONObject getUserTimeline(WeiboUserTimelineDto userTimeline){
JSONObject j=null;
try {
logger.info("请求获取用户发布的微博的参数为:"+userTimeline.toString());
//验证请求参数
WeiboStatusesUtil.getUserTimelineParmValidate(userTimeline);
String requestUrl = WeiboStatusesUtil.getUserTimelineUrl(user_timeline_url, userTimeline);
logger.info("请求获取用户发布的微博的路径为:"+requestUrl);
j = HttpUtil.httpRequest(requestUrl, "GET", null);
if(j!=null){
logger.info("请求获取用户发布的微博的结果为:"+j.toString());
}else{
logger.info("请求获取用户发布的微博的结果为:null");
}
}catch(BusinessException e) {
logger.info(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return j;
}
/**
* @param access_token OAuth授权必填参数
*
* 获取用户发布的微博的ID的接口
*
*/
public static JSONObject getUserTimelineIds(WeiboUserTimelineDto userTimeline){
JSONObject j=null;
try {
logger.info("获取用户发布的微博的ID的参数为:"+userTimeline.toString());
//验证请求参数
WeiboStatusesUtil.getUserTimelineIdsParmValidate(userTimeline);
String requestUrl = WeiboStatusesUtil.getUserTimelineUrl(user_timeline_ids_url, userTimeline);
logger.info("获取用户发布的微博的ID的路径为:"+requestUrl);
j = HttpUtil.httpRequest(requestUrl, "GET", null);
if(j!=null){
logger.info("获取用户发布的微博的ID的结果为:"+j.toString());
}else{
logger.info("获取用户发布的微博的ID的结果为:null");
}
}catch(BusinessException e) {
logger.info(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return j;
}
/**
* @param access_token OAuth授权必填参数
* @param ids 需要获取数据的微博ID,多个之间用逗号分隔
* 批量获取指定微博的转发数评论数接口
*/
public static JSONArray getCount(String access_token,String ids){
JSONArray j=null;
try {
logger.info("批量获取指定微博的转发数评论数的参数为:access_token:"+access_token+" 微博ID:"+ids);
//验证请求参数
WeiboStatusesUtil.getCountParmValidate(access_token,ids);
String requestUrl = WeiboStatusesUtil.getCountUrl(count_url, access_token, ids);
logger.info("批量获取指定微博的转发数评论数的路径为:"+requestUrl);
j = HttpUtil.httpRequestArr(requestUrl, "GET", null);
if(j!=null){
logger.info("批量获取指定微博的转发数评论数的结果为:"+j.toString());
}else{
logger.info("批量获取指定微博的转发数评论数的结果为:null");
}
}catch(BusinessException e) {
logger.info(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return j;
}
/**
* @param access_token OAuth授权必填参数
* @param 需要获取的微博ID
*
* 根据ID获取单条微博信息接口
*
*/
public static JSONObject getShow(String access_token,String id){
JSONObject j=null;
try {
logger.info("根据ID获取单条微博信息的参数为:access_token:"+access_token+" 微博ID:"+id);
//验证请求参数
WeiboStatusesUtil.getShowParmValidate(access_token,id);
String requestUrl = WeiboStatusesUtil.getShowUrl(show_url, access_token, id);
logger.info("根据ID获取单条微博信息的路径为:"+requestUrl);
j = HttpUtil.httpRequest(requestUrl, "GET", null);
if(j!=null){
logger.info("根据ID获取单条微博信息的结果为:"+j.toString());
}else{
logger.info("根据ID获取单条微博信息的结果为:null");
}
}catch(BusinessException e) {
logger.info(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return j;
}
/**
*
* @param access_token OAuth授权必填参数
*
* 获取@当前用户的最新微博接口
*/
public static JSONObject getMentions(WeiBoMentionsDto mentions){
JSONObject j=null;
try {
logger.info("获取@当前用户的最新微博的参数为:"+mentions.toString());
//验证请求参数
WeiboStatusesUtil.getMentionsParmValidate(mentions);
String requestUrl = WeiboStatusesUtil.getMentionsUrl(mentions_url, mentions);
logger.info("获取@当前用户的最新微博路径为:"+requestUrl);
j = HttpUtil.httpRequest(requestUrl, "GET", null);
if(j!=null){
logger.info("获取@当前用户的最新微博的结果为:"+j.toString());
}else{
logger.info("获取@当前用户的最新微博的结果为:null");
}
}catch(BusinessException e) {
logger.info(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return j;
}
/**
*
* @param access_token OAuth授权必填参数
*
* 获取@当前用户的最新微博的ID接口
*/
public static JSONObject getMentionsIds(WeiBoMentionsDto mentions){
JSONObject j=null;
try {
logger.info("获取@当前用户的最新微博的ID的参数为:"+mentions.toString());
//验证请求参数
WeiboStatusesUtil.getMentionsParmValidate(mentions);
String requestUrl = WeiboStatusesUtil.getMentionsUrl(mentions_ids_url, mentions);
logger.info("获取@当前用户的最新微博的ID路径为:"+requestUrl);
j = HttpUtil.httpRequest(requestUrl, "GET", null);
if(j!=null){
logger.info("获取@当前用户的最新微博的ID的结果为:"+j.toString());
}else{
logger.info("获取@当前用户的最新微博的ID的结果为:null");
}
}catch(BusinessException e) {
logger.info(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return j;
}
public static void main(String[] args) {
//=========================获取用户发布的微博接口测试======start=================================
/* WeiboUserTimelineDto userTimeline =new WeiboUserTimelineDto();
userTimeline.setAccess_token("2.00rj8pTCRV_yBB5addd99887yjfcyC");
//userTimeline.setUid("2273040767");
//userTimeline.setScreen_name("联通超级炫铃");
getUserTimeline(userTimeline);*/
//==========================获取用户发布的微博接口测试======end===================================
//=================获取用户发布的微博的ID的接口测试========start===================================
/* WeiboUserTimelineDto userTimeline =new WeiboUserTimelineDto();
userTimeline.setAccess_token("2.00rj8pTCRV_yBB5addd99887yjfcyC");
//userTimeline.setUid("2273040767");
userTimeline.setScreen_name("联通超级炫铃");
getUserTimelineIds(userTimeline);*/
//===================获取用户发布的微博的ID的接口测试=======end====================================
//==================批量获取指定微博的转发数评论数接口测试========start==================================
/*String access_token="2.00rj8pTCRV_yBB5addd99887yjfcyC";
String ids="4042534311692339,4042534311692377";
getCount(access_token, ids);*/
//===================批量获取指定微博的转发数评论数接口测试========end===================================
//==================根据ID获取单条微博信息接口测试========start==================================
/*String access_token="2.00rj8pTCRV_yBB5addd99887yjfcyC";
String id="3720211465180913";
getShow(access_token, id);*/
//===================根据ID获取单条微博信息接口测试========end===================================
//==================获取@当前用户的最新微博接口测试========start==================================
/*WeiBoMentionsDto mentions=new WeiBoMentionsDto();
mentions.setAccess_token("2.00rj8pTCRV_yBB5addd99887yjfcyC");
getMentions(mentions);*/
//===================获取@当前用户的最新微博接口测试========end===================================
//==================获取@当前用户的最新微博的ID接口测试========start==================================
/*WeiBoMentionsDto mentions=new WeiBoMentionsDto();
mentions.setAccess_token("2.00rj8pTCRV_yBB5addd99887yjfcyC");
getMentionsIds(mentions);*/
//===================获取@当前用户的最新微博的ID接口测试========end===================================
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy