当前位置: 首页 > news >正文

镇江网站建设一般多少钱网站内容该怎么做

镇江网站建设一般多少钱,网站内容该怎么做,虚拟主机做网站,公司网站改版 目的前面章节已经介绍使用code换取Token的整个流程了#xff0c;这里不再重复阐述了#xff0c;下面我们介绍如何使用Token查询用户信息等操作。 1.引入相关依赖Maven dependency groupIdoauth.signpost/groupId artifactIdsignpost-co…        前面章节已经介绍使用code换取Token的整个流程了这里不再重复阐述了下面我们介绍如何使用Token查询用户信息等操作。 1.引入相关依赖Maven dependency     groupIdoauth.signpost/groupId     artifactIdsignpost-core/artifactId     version1.2.1.2/version /dependency dependency     groupIdoauth.signpost/groupId     artifactIdsignpost-commonshttp4/artifactId     version1.2.1.2/version /dependency dependency     groupIdcom.twitter/groupId     artifactIdtwitter-api-java-sdk/artifactId     version1.1.4/version /dependency dependency     groupIdcommons-httpclient/groupId     artifactIdcommons-httpclient/artifactId     version3.1/version /dependencydependency     groupIdcom.google.guava/groupId     artifactIdguava/artifactId     version29.0-jre/version /dependency 2.相关的配置类 /*** 推特相关配置*/ public class TwitterConfig {/*** 客户id和客户私钥*/public static final String CLIENT_ID c3dqY111tjbnFPNDM6MTpjaQ;public static final String CLIENT_SECRET kf1119fmdeXZHpOV-fjv9umx55ZdccCkNONjea;/*** 应用KYE和私钥*/public static final String CONSUMER_KEY lhyfiD111MffGeHMR;public static final String CONSUMER_SECRET BRNxnV5Lx111jtptduIkcwjB;/*** 应用的TOKEN*/public static final String ACCESS_TOKEN 14821111633-A8xyN5111FgkbStu;public static final String ACCESS_TOKEN_SECRET oZaKBphpoo111SZvzoXPAQ;} 3.查询开发者账号的推特信息 public JSONObject getUserInfo(){//下面需要开发者门户里面的key和私钥还包括Token和私钥CommonsHttpOAuthConsumer consumer new CommonsHttpOAuthConsumer(TwitterConfig.CONSUMER_KEY, TwitterConfig.CONSUMER_SECRET);consumer.setTokenWithSecret(TwitterConfig.ACCESS_TOKEN, TwitterConfig.ACCESS_TOKEN_SECRET);// 创建HttpClient对象HttpClient httpClient this.setProxy();// 创建API请求例如获取用户的时间线try {//请求的地址URIBuilder uriBuilder new URIBuilder(https://api.twitter.com/2/users/me);ArrayListNameValuePair queryParameters;queryParameters new ArrayList();//我们需要查询用户的那些信息queryParameters.add(new BasicNameValuePair(user.fields, id,name,username,profile_image_url,public_metrics));queryParameters.add(new BasicNameValuePair(expansions, pinned_tweet_id));uriBuilder.addParameters(queryParameters);HttpGet request new HttpGet(uriBuilder.build());request.setHeader(Content-Type,application/json);consumer.sign(request);// 创建参数列表HttpResponse response httpClient.execute(request);// 处理API响应int statusCode response.getStatusLine().getStatusCode();String responseBody EntityUtils.toString(response.getEntity());if (statusCode 200) {System.out.println(responseBody);return JSONObject.parseObject(responseBody);} else {System.out.println(responseBody);return JSONObject.parseObject(responseBody);}} catch (OAuthMessageSignerException e) {e.printStackTrace();} catch (OAuthExpectationFailedException e) {e.printStackTrace();} catch (OAuthCommunicationException e) {e.printStackTrace();} catch (URISyntaxException e) {e.printStackTrace();}catch (IOException e) {e.printStackTrace();}return null;} 4.根据用户Token查询授权用户基本信息 /*** 根据用户token换取用户信息* return*/public TwitterUserDto getUserInfoByToken(String token){StringBuilder result new StringBuilder();BufferedReader in null;try {// Twitter API endpointString endpoint https://api.twitter.com/2/users/me;// 构造带有参数的 URLString urlWithParams endpoint ?user.fieldsname,pinned_tweet_id,profile_image_url;// 创建 URL 对象URL url new URL(urlWithParams);URLConnection connection url.openConnection();connection.setRequestProperty(Authorization, Bearer token);connection.setRequestProperty(Content-Type,application/json);connection.connect();in new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line in.readLine()) ! null){result.append(line);}TwitterUserDto dto new TwitterUserDto();JSONObject json JSONObject.parseObject(result.toString());JSONObject user (JSONObject)json.get(data);if(user ! null){dto.setId(user.get(id).toString());dto.setName(user.get(name).toString());dto.setUsername(user.get(username).toString());}return dto;} catch (Exception e) {e.printStackTrace();}return null;} Data Accessors(chain true) public class TwitterUserDto {/*** 推特名 xxxx*/private String username;/*** 推特用户名*/private String name;/*** 推特用户ID*/private String id; } 5.根据用户名查询用户推特信息  /*** 根据用户名查询用户推特数据* return*/public TwitterUserDto getTwitterUserByUserName(String userName){//推特应用里面的相关私钥和TokenCommonsHttpOAuthConsumer consumer new CommonsHttpOAuthConsumer(TwitterConfig.CONSUMER_KEY, TwitterConfig.CONSUMER_SECRET);consumer.setTokenWithSecret(TwitterConfig.ACCESS_TOKEN, TwitterConfig.ACCESS_TOKEN_SECRET);// 创建HttpClient对象HttpClient httpClient this.setProxy();// 创建API请求例如获取用户的时间线try {URIBuilder uriBuilder new URIBuilder(https://api.twitter.com/2/users/by);ArrayListNameValuePair queryParameters;queryParameters new ArrayList();//需要查询的用户名 多个用户名称用逗号隔开(例如张三,李四,王五 如果不行用张三%20李四%20王五)queryParameters.add(new BasicNameValuePair(usernames, userName));queryParameters.add(new BasicNameValuePair(expansions, pinned_tweet_id));uriBuilder.addParameters(queryParameters);HttpGet request new HttpGet(uriBuilder.build());request.setHeader(Content-Type,application/json);consumer.sign(request);// 创建参数列表HttpResponse response httpClient.execute(request);// 处理API响应int statusCode response.getStatusLine().getStatusCode();String responseBody EntityUtils.toString(response.getEntity());if (statusCode 200) {TwitterUserDto dto new TwitterUserDto();JSONObject json JSONObject.parseObject(responseBody);JSONArray user (JSONArray)json.get(data);if(user ! null){json (JSONObject)user.get(0);dto.setId(json.get(id).toString());dto.setName(json.get(name).toString());dto.setUsername(json.get(username).toString());}return dto;} else {return null;}} catch (OAuthMessageSignerException e) {e.printStackTrace();} catch (OAuthExpectationFailedException e) {e.printStackTrace();} catch (OAuthCommunicationException e) {e.printStackTrace();} catch (URISyntaxException e) {e.printStackTrace();}catch (IOException e) {e.printStackTrace();}return null;}/*** 设置请求代理* param* return*/private HttpClient setProxy(){// 创建HttpClientBuilder对象HttpClientBuilder httpClientBuilder HttpClientBuilder.create();HttpClient client httpClientBuilder.build();;return client;} 注意事项如果推特报401的话请检查Token是否过期如果报400的话需要好好检查一下参数问题它不会给你特别明显错误的提示细节问题只能自己注意一下了。
http://www.pierceye.com/news/597530/

相关文章:

  • 流浪动物网站开发巴中手机网站建设
  • 吕梁网站建设kuyiso手机网站建设 jz.woonl
  • 电脑和手机都能浏览的网站开发设计学类包括哪些专业
  • 网站规划与建设评分标准网站中竖导航栏怎么做
  • 网站备案规定周到的商城网站建设
  • 考幼师证去哪个网站做试题如何分析网站建设
  • 济南智能网站建设哪家好化工网站建设推广
  • 福州 网站定制设计稿定设计官方免费下载
  • 统计局网站建设情况南宁做网站优化的公司
  • 免费的软件网站建设北京建设厅网站查询
  • 没有公司做网站短网址短链接生成器
  • 利于seo优化的网站网站怎么上传到空间
  • 寿阳网站建设开发网站的硬件成本
  • 做网站的叫什么软件众筹网站开发
  • 鲜花网网站开发的目标河南郑州建设网站
  • 做网站上哪买空间帝国网站管理系统安装连接不上数据库
  • 做前端网站用什么工具网站备案后怎么做实名认证
  • 做兼职那个网站比较好重庆的seo服务公司
  • 网站建设流费用南通seo排名公司
  • 河北邢台移动网站建设单片机做网站
  • 佛山网站制作的公司做文库网站怎么赚钱吗
  • 博客网站 做淘宝客咸阳网站建设推广
  • 佛山手机网站建设优化做网站要多大的画布
  • 网站结构优化包括什么网站建设定制开发
  • 做装修的有那些网站wordpress获取用户位置
  • 找事做网站公司网站网页设计
  • 网站数据哪个网站可以做图片
  • 网站添加google地图阿里云服务器可以访问国外网站吗
  • 大连免费网站制作重庆哪些网站推广公司
  • 查建设工程规划许可证网站广州模板建站公司