当前位置 : 主页 > 编程语言 > java >

微博接口

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt import java.lang.reflect.InvocationTargetException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;im
gistfile1.txt
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.developerworld.commons.command.OrderCommand;
import org.developerworld.commons.command.PageCommand;
import org.developerworld.commons.command.ResultCommand;
import org.developerworld.commons.beanutils.BeanUtils;
import org.developerworld.commons.lang.OperationException;
import org.developerworld.commons.servlet.http.RequestUtils;
import org.developerworld.frameworks.webui.datagrid.DataGrid;

import weibo4j.http.AccessToken;
import weibo4j.http.HttpClient;
import weibo4j.model.PostParameter;
import weibo4j.model.WeiboException;
import weibo4j.util.WeiboConfig;


@Controller("/wb/WbapiController")
@RequestMapping("/wb/api")
public class WbapiController {

	@Resource(name = "BusinessService")
	private WbapiBusinessService businessService;
	/**
	 * 存储code
	 * 
	 * @param response
	 * @return
	 */
	@RequestMapping(value = "/setcode", method = RequestMethod.GET)
	@ResponseBody
	public Map
 
   setCode(HttpServletRequest request, HttpServletResponse response) {
		Map
  
    map = new HashMap
   
    (); boolean flag = false; RequestUtils requestUtils = new RequestUtils(request); Map
    
      requestMap = requestUtils.toSmartMap(); String code = (String) requestMap.get("code"); try { MonitorWbapi monitorWbapi = businessService.getMonitorWbapiById(1); monitorWbapi.setCode(code); businessService.updateMonitorWbapi(1, monitorWbapi); flag = true; map.put("flag", flag); map.put("massage", getMessage(getMessage("prj.message.successful"))); } catch (Exception e) { map.put("flag", flag); map.put("msg", e.getMessage()); } return map; } /** * 获取code * * @param request * @param response * @return */ @RequestMapping(value = "/getcode", method = RequestMethod.GET) @ResponseBody public Map
     
       getCodes(HttpServletRequest request, HttpServletResponse response) { Map
      
        map = new HashMap
       
        (); boolean flag = false; try { MonitorWbapi monitorWbapi = businessService.getMonitorWbapiById(1); String code = monitorWbapi.getCode(); flag = true; map.put("flag", flag); map.put("code", code); } catch (Exception e) { map.put("flag", flag); } return map; } /** * 获取回调页 * * @param gzgitoken * @return * @throws WeiboException */ @RequestMapping(value = "/authorize", method = RequestMethod.GET) @ResponseBody public String authorize() throws WeiboException { String url = ""; try { MonitorWbapi monitorWbapi = businessService.getMonitorWbapiById(1); url = "https:// api.weibo.com/oauth2/authorize?client_id = " + monitorWbapi.getClientId() + "&redirect_uri=" + monitorWbapi.getRedirectUri() + ""; } catch (Exception e) { e.getMessage(); } return url; } /** * 根据code获取accesstoken token存活时间为5年,故一般不重新获取 * * @param request * @param code * @return * @throws WeiboException */ @RequestMapping(value = "/getAccessTokenByCode", method = RequestMethod.GET) @ResponseBody public AccessToken getAccessTokenByCode(HttpServletRequest request, String code) throws WeiboException { HttpClient client = new HttpClient(); Utils utils = new Utils(); return new AccessToken(client.post(WeiboConfig.getValue("accessTokenURL"), new PostParameter[]{new PostParameter("client_id", utils.getClient_id()), new PostParameter("client_secret", utils.getClient_secret()), new PostParameter("grant_type", "authorization_code"), new PostParameter("code", code), new PostParameter("redirect_uri", utils.getRedirect_uri())}, false, null)); } }
       
      
     
    
   
  
 
网友评论