国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java使用新浪微博API開發微博應用的基本方法

Java使用新浪微博API開發微博應用的基本方法

2020-03-04 13:07六仙庵 JAVA教程

這篇文章主要介紹了Java使用新浪微博API開發微博應用的基本方法,文中還給出了一個不使用任何SDK實現Oauth授權并實現簡單的發布微博功能的實現方法,需要的朋友可以參考下

新浪微博API現在運用比較廣泛,做一個完整的開發流程Demo
1、第一步注冊,就不多說了,注冊帳號以及成為開發者帳號,這步操作不會的話請你馬上砸掉電腦拔掉網線回家種田。
2、第二步創建應用,開發者帳號創建好了,打開新浪微博開發平臺: http://open.weibo.com
   上面菜單欄點擊最后一個 管理中心

Java使用新浪微博API開發微博應用的基本方法

如果是web的應用的話選擇創建網站接入的應用,然后根據新浪微博的要求balabalabala自己去搞定
  應用創建完畢。點擊應用跳轉頁面,點擊查看應用參數,可以看到應用的相關參數,這些參數將會在第四步用到。
3、第三步下載sdk,回到頂部的菜單欄,點擊 文檔 ,再點擊左邊菜單欄sdk,選擇java sdk,然后balabala下載,這步操作有問題也請回家種田。

Java使用新浪微博API開發微博應用的基本方法

所謂的sdk并非是sdk(個人覺得名稱有點誤導),而是一個可運行的工程,下載完畢之后解壓 ,并導入到eclipse,可以看到兩個目錄 src和example
src是新浪微博的部分
example是實例,接口的demo
4、第四步配置參數,找到src目錄下的config.properties
前三個參數需要自己配置 為第二步里說過的應用參數里的參數
后面的都是默認的不需要改
前三個參數配置如下
client_ID為App Key
client_SERCRET為App Secret
redirect_URI為 OAuth2.0授權的回調URL 應用信息>高級信息>OAuth2.0 授權設置下面的授權回調頁  這是一個你自己填寫的URL 指向的是你自己服務器 當然在開發階段我們可以使用任何URL 只要能夠讓我們了解OAuth授權的流程就好了 這里我們就輸入一個http://www.baidu.com  取消授權回調頁也是如此 注意這里的URL的字符串必須是一致
5、第五步獲取AccessToken,正常情況下AccessToken的獲取是需要通過OAuth2.0認證的,但是為了更簡單我先說一種簡單的方法。后面再講OAuth2.0
還是選擇最上面的菜單欄 文檔>API>API測試工具
選擇創建的應用 點擊獲取AccessToken 下面的文本框里就是我們要的AccessToken

Java使用新浪微博API開發微博應用的基本方法

6、第六步先做一個接口實例
去微博API里隨便找一個已有權限的接口,
我隨便找了一個 獲取用戶發布的微博  statuses/user_timeline 做測試用的

Java使用新浪微博API開發微博應用的基本方法

點擊這個接口查看這個接口詳情,可以查看到接口的每個傳入參數以及返回參數 這個無需多說。

不使用任何SDK實現Oauth授權并實現簡單的發布微博功能:
創建一個Java項目,編寫如下代碼,具體過程代碼中已寫的很清楚,這里不再做解釋:

注意先修改應用ID、應用密碼和回調頁面成你自己的!訪問授權頁面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package com;
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Scanner;
 
import javax.net.ssl.X509TrustManager;
 
/**
 * @author 劉顯安
 * 不使用任何SDK實現新浪微博Oauth授權并實現發微薄小Demo
 * 日期:2012年11月11日
 */
public class Test
{
  static String clientId="2355065950";//你的應用ID
  static String clientSecret="72037e76bee00315691d9c30dd8a386a";//你的應用密碼
  static String redirectUri="https://api.weibo.com/oauth2/default.html";//你在應用管理中心設置的回調頁面
  
  public static void main(String[] args) throws Exception
  {
    testHttps();//測試
    //第一步:訪問授權頁面獲取授權
    System.out.println("請打開你的瀏覽器,訪問以下頁面,登錄你的微博賬號并授權:");
    System.out.println("https://api.weibo.com/oauth2/authorize?client_id="+clientId+"&response_type=code&redirect_uri="+redirectUri+"&forcelogin=true");
    //第二步:獲取AccessToken
    System.out.println("請將授權成功后的頁面地址欄中的參數code:");
    String code=new Scanner(System.in).next();
    getAccessToken(code);
    //第三步:發布一條微博
    System.out.println("請輸入上面返回的值中accessToken的值:");
    String accessToken=new Scanner(System.in).next();
    updateStatus("發布微博測試!來自WeiboDemo!", accessToken);
  }
  /**
   * 測試能否正常訪問HTTPS打頭的網站,
   */
  public static void testHttps()
  {
    try
    {
      trustAllHttpsCertificates();//設置信任所有的http證書
      URL url=new URL("https://api.weibo.com/oauth2/default.html");
      URLConnection con=url.openConnection();
      con.getInputStream();
      System.out.println("恭喜,訪問HTTPS打頭的網站正常!");
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
  /**
   * 以Post方式訪問一個URL
   * @param url 要訪問的URL
   * @param parameters URL后面“?”后面跟著的參數
   */
  public static void postUrl(String url,String parameters)
  {
    try
    {
      trustAllHttpsCertificates();//設置信任所有的http證書
      URLConnection conn = new URL(url).openConnection();
      conn.setDoOutput(true);// 這里是關鍵,表示我們要向鏈接里注入的參數
      OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());// 獲得連接輸出流
      out.write(parameters);
      out.flush();
      out.close();
      // 到這里已經完成了,開始打印返回的HTML代碼
      BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
      String line = null;
      while ((line = reader.readLine()) != null)
      {
        System.out.println(line);
      }
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
  /**
   * 獲取AccessToken
   * @param code 在授權頁面返回的Code
   */
  public static void getAccessToken(String code)
  {
    String url="https://api.weibo.com/oauth2/access_token";
    String parameters="client_id=" +clientId+"&client_secret=" +clientSecret+
      "&grant_type=authorization_code" +"&redirect_uri=" +redirectUri+"&code="+code;
    postUrl(url, parameters);
  }
  /**
   * 利用剛獲取的AccessToken發布一條微博
   * @param text 要發布的微博內容
   * @param accessToken 剛獲取的AccessToken
   */
  public static void updateStatus(String text,String accessToken)
  {
    String url="https://api.weibo.com/2/statuses/update.json";
    String parameters="status="+text+"&access_token="+accessToken;
    postUrl(url, parameters);
    System.out.println("發布微博成功!");
  }
  /**
   * 設置信任所有的http證書(正常情況下訪問https打頭的網站會出現證書不信任相關錯誤,所以必須在訪問前調用此方法)
   * @throws Exception
   */
  private static void trustAllHttpsCertificates() throws Exception
  {
    javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
    trustAllCerts[0] = new X509TrustManager()
    {
      @Override
      public X509Certificate[] getAcceptedIssuers()
      {
        return null;
      }
      @Override
      public void checkServerTrusted(X509Certificate[] arg0, String arg1)
          throws CertificateException
      {}
      @Override
      public void checkClientTrusted(X509Certificate[] arg0, String arg1)
          throws CertificateException
      {}
    };
    javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
    sc.init(null, trustAllCerts, null);
    javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
  }
}

訪問授權頁面:

Java使用新浪微博API開發微博應用的基本方法

授權成功:

Java使用新浪微博API開發微博應用的基本方法

發布微博成功:

Java使用新浪微博API開發微博應用的基本方法

控制臺輸出結果:

Java使用新浪微博API開發微博應用的基本方法

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品久久久久久 | 中文字幕av亚洲精品一部二部 | 国产精品毛片久久久久久 | 一区二区三区在线看 | 国内精品视频 | 一级片免费视频 | 一级欧美 | 中文字幕乱码亚洲无线三区 | 黄色片网站在线免费观看 | 免费观看www7722午夜电影 | 久久午夜网站 | 精品久久久久久久久久久下田 | 久久精品国产精品青草 | 在线色网站 | 国产一区久久 | 激情欧美日韩一区二区 | 在线久草 | а√天堂资源中文最新版地址 | 色一色视频 | 一区二区三区久久久久 | 国产最好的精华液网站 | 国产综合视频 | 欧美一区二区精品 | 欧美激情一区二区三级高清视频 | 久久久青草婷婷精品综合日韩 | 午夜色播| 成人在线免费小视频 | 一区二区三区在线播放 | 成人观看免费视频 | 国产午夜精品视频 | 91精品国产乱码久久久久久 | 国产欧美综合一区二区三区 | 欧美成年网站 | 国产精品三级视频 | 在线观看免费视频黄 | 国产目拍亚洲精品99久久精品 | 久草美女| 91精品网| 亚洲人天堂 | 日韩av免费在线观看 | 亚洲精品综合 |