概觀: 社會化媒體革命正在成為營銷一樣許多地區顯著事件, 聯網, 分析等等. 暴露於Facebook等社交媒體, 推特, 鏈接在對業務產生巨大影響. 社交媒體是喜歡收集用戶反饋自然資源, 註釋, 建議等. 因此,社交媒體與應用的整合也很重要. 這些應用將能夠連接到這些媒體和獲取信息. 在這篇文章中,我將討論Facebook的整合和Java應用程序嘰嘰喳喳.
介紹: 在現代的網站已經成為任何企業的一個組成部分, 無論是大, 中小型. The web presence is an important aspect to reach to the global audience. 一個企業的網站上的存在是不夠的,達到更大的觀眾質量. 接觸到更大的大眾社交媒體播放,因為它有一個級聯和並發效果顯著的作用. 現在,社交網絡和媒體網站也都有意整合並與其他網站進行通信,他們也需要達到大眾公用觀眾. 在這種方式類似網站需要社交網站的幫助下到達目標受眾. So, 為了配合這, 社交媒體網站都暴露了他們的API,允許網站進行溝通,並與他們整合. Facebook提供方便的API (作為。。而被知道 圖形API) 與他們的網站整合和溝通. “ 圖形API 是非常強大和靈活. 它暴露了所有必要的功能 (被譽為接口) 需要整合.
Facebook應用程序模型: 去之前到實際執行,讓我們了解Facebook應用程序模型. Facebook的開放其平台使用REST Web服務開發人員. 作為開發商,我們可以自由地使用我們選擇的API來了Facebook的功能集成在我們的應用程序. 另外,作為一個開發者,我們可以自由地使用我們的首選技術. Facebook的使用代理服務器模式作為主要集成點. Facebook的代理服務器遵循以下步驟:
- Web應用程序將駐留在我們的Web /應用服務器,我們需要在註冊Facebook帳戶的基本URL.
- 當應用程序在Facebook中被訪問, 它將調用註冊的URL的應用程序服務器上.
- 現在, 該應用程序將調用必要Facebook的API來獲取相關信息.
- 我們的應用程序使用自己的數據庫中的數據和Facebook的數據,並使其
- 在此之後我們的Facebook應用程序的輸出返回給用戶
如何獲得Facebook的圖書館:
之前,我們與我們的Java應用程序中整合Facebook,我們需要一些第三方庫. 這些第三方庫將幫助我們整合以及與Facebook通信 (實際訪問安裝在其服務器上的Facebook應用程序). Java和開源開發不同的獨立團體已經為目的,整合Facebook的高效庫.
您可以檢查HTTP://code.google.com/p/facebook-java-api/以獲得有關API和罐子更多詳情. 這些第三方庫與Java SE的兼容 5 以上.
下載以下JAR文件
- HTTP://facebook-java-api.googlecode.com/files/facebook-java-api-1.7.2.jar
- HTTP://facebook-java-api.googlecode.com/files/json-1.0.jar
- http://facebook-java-api.googlecode.com/files/facebook-util-1.7.2.jar
如果您使用的是Java應用程序服務器上的Java SE之上 5, 那麼你應該下載以下JAR文件:
- HTTP://facebook-java-api.googlecode.com/files/jaxb-api-2.1.jar
- HTTP://facebook-java-api.googlecode.com/files/jaxb-impl-2.1.jar
- http://facebook-java-api.googlecode.com/files/jsr173-api-1.0.jar
如果您使用的是Java SE上述三個JAR文件不需要 6 或更高版本.
下載這些JAR後, 你需要將其納入您的網站或獨立的應用程序. 這些JAR都是為了提供給不同的目的客戶端應用程序的API訪問.
下面的例子將顯示部分整合:
Listing 1: 對於Facebook的整合Java代碼示例
包com.home.social;
進口java.io.BufferedWriter;
進口的java.io.File;
進口java.io.FileWriter;
進口java.io.IOException異常;
進口java.text.SimpleDateFormat中;
進口java.util.Date;
進口net.sf.json.JSONObject;
進口net.sf.json.JsonConfig;
進口facebook4j.Facebook;
進口facebook4j.FacebookException;
進口facebook4j.FacebookFactory;
進口facebook4j.Post;
進口facebook4j.ResponseList;
進口facebook4j.conf.Configuration;
進口facebook4j.conf.ConfigurationBuilder;
公共類FacebookIntegration {
公共靜態無效的主要(串[] 參數) 拋出FacebookException {
// 創建CONF建設者和組授權和訪問鍵
ConfigurationBuilder configurationBuilder =新ConfigurationBuilder();
configurationBuilder.setDebugEnabled(真);
configurationBuilder.setOAuthAppId(“XXXX”);
configurationBuilder.setOAuthAppSecret(“XXXXX”);
configurationBuilder.setOAuthAccessToken(“XXXX”);
configurationBuilder
.setOAuthPermissions(“email, publish_stream, ID, 名稱, 名字, 姓, read_stream , 通用”);
configurationBuilder.setUseSSL(真);
configurationBuilder.setJSONStoreEnabled(真);
// 創建配置並獲得Facebook的實例
配置配置= configurationBuilder.build();
FacebookFactory FF =新FacebookFactory(組態);
正在使用Facebook = ff.getInstance();
嘗試 {
// 設置搜索字符串,並取得成果
字符串searchPost = “MACDonaldsIndia”;
日期日期=新的日期();
SimpleDateFormat的SimpleDateFormat的=新的SimpleDateFormat(
“dd_MM_yyyy_hh_mm”);
字符串文件名= “ð:\\FacebookConfigFolder 文件” + searchPost
+ “_” + simpleDateFormat.format(日期) + “.文本”;
字符串結果= getFacebookPostes(Facebook的, searchPost);
檔案文件=新的文件(文件名);
如果 (!文件已存在()) {
file.createNewFile();
FileWriter的FW =新的FileWriter(file.getAbsoluteFile());
BufferedWriter將體重=新的BufferedWriter(FW);
bw.write(結果);
bw.close();
System.out.println(“完成”);
}
} 抓 (IOException異常Ë) {
e.printStackTrace();
}
}
// 此方法用於基於搜索字符串集獲得Facebook的職位
// 以上
公共靜態字符串getFacebookPostes(正在使用Facebook, 串searchPost)
拋出FacebookException {
字符串的SearchResult = “項目 : ” + searchPost + “\Ň”;
StringBuffer的searchMessage =新的StringBuffer();
ResponseList<崗位> 結果= facebook.getPosts(searchPost);
為 (郵寄 : 結果) {
System.out.println(post.getMessage());
searchMessage.append(post.getMessage() + “\Ň”);
為 (INT J = 0; Ĵ < post.getComments().尺寸(); J ) {
searchMessage.append(post.getComments().得到(Ĵ).從獲得()
.的getName()
+ “, “);
searchMessage.append(post.getComments().得到(Ĵ).的getMessage()
+ “, “);
searchMessage.append(post.getComments().得到(Ĵ).getCreatedTime()
+ “, “);
searchMessage.append(post.getComments().得到(Ĵ).getLikeCount()
+ “\Ň”);
}
}
字符串feedString = getFacebookFeed(Facebook的, searchPost);
SearchResult中=信息搜索結果 + searchMessage.toString();
SearchResult中=信息搜索結果 + feedString;
返回SearchResult中;
}
// 這種方法被用來獲得實飼料基於該搜索串組
// 以上
公共靜態字符串getFacebookFeed(正在使用Facebook, 串searchPost)
拋出FacebookException {
字符串的SearchResult = “”;
StringBuffer的searchMessage =新的StringBuffer();
ResponseList<崗位> 結果= facebook.getFeed(searchPost);
為 (郵寄 : 結果) {
System.out.println(post.getMessage());
searchMessage.append(post.getFrom().的getName() + “, “);
searchMessage.append(post.getMessage() + “, “);
searchMessage.append(post.getCreatedTime() + “\Ň”);
}
SearchResult中=信息搜索結果 + searchMessage.toString();
返回SearchResult中;
}
// 此方法用於創建數據串JSON對象
公共靜態字符串stringToJson(字符串數據) {
JsonConfig CFG =新JsonConfig();
嘗試 {
的JSONObject的JSONObject = JSONObject.fromObject(data, CFG);
System.out.println(“JSON = ” + jsonObject.toString());
} 抓 (例外五) {
e.printStackTrace();
}
return “JSON創建”;
}
}
與Twitter集成: 為了您的應用程序與Twitter集成,我們需要使用庫 – twitter4j. 這是有據可查的圖書館,可以幫助任何Java開發人員對他/她的Twitter應用程序集成. 作為一個開發者,我們需要按照一定的步驟如下所述:
- 發送至Twitter要求的令牌的請求. 這一要求應同時攜帶消費者密鑰和秘密密鑰.
- 存儲從Twitter收到的響應.
- 一旦接收到響應, 認證URL被從響應中提取.
- 然後,用戶需要被重定向到認證URL, 這樣他就可以登錄.
- 在用戶登錄並獲取個人識別號碼或PIN.
- 然後用戶輸入的PIN應用程序中的.
- 一旦PIN輸入應用程序應該問Twitter的安全令牌, 提供消費者參數,如以上以及先前存儲的請求令牌和PIN.
- 一旦令牌接收, 每個請求將Ø微博應該有這個標記與PIN一起
Listing 2: 對於Twitter的整合Java代碼示例
包com.home.social;
進口java.io.BufferedWriter;
進口java.io.FileWriter;
進口的java.util.List;
進口twitter4j.Query;
進口twitter4j.QueryResult;
進口twitter4j.Status;
進口twitter4j.Twitter;
進口twitter4j.TwitterFactory;
進口twitter4j.conf.ConfigurationBuilder;
公共類TwitterIntegration {
公共靜態無效的主要(串[] 參數) 拋出異常{
// 創建配置建設者和設置鍵, 令牌等
ConfigurationBuilder CB =新ConfigurationBuilder();
cb.setOAuthConsumerKey(“XXX”);
cb.setOAuthConsumerSecret(“XXXX”);
cb.setOAuthAccessToken(“XXXXX”);
cb.setOAuthAccessTokenSecret(“XXXX”);
// 創建Twitter的實例
嘰嘰喳喳嘰嘰喳喳=新TwitterFactory(cb.build()).的getInstance();
// 創建文件作家和作家的緩衝區
FileWriter的fstream的=新的FileWriter(“twitterstream.txt”,真);
的BufferedWriter出新的BufferedWriter(fstream的);
// 創建查詢對象,並設置搜索字符串
查詢查詢=新查詢(“”);
query.setQuery(“#全美航空”);
// 獲取查詢結果
QueryResult中QR = twitter.search(詢問);
// 獲取鳴叫和文件中寫
while(qr.hasNext()){
qr.nextQuery();
名單<狀態> 鳴叫= qr.getTweets();
為 (T狀態: 鳴叫){
System.out.println(t.getId() + ” – ” + t.getCreatedAt() + “: ” + t.getText());
out.write(“\Ň”+t.getId()+”,”);
out.write(“\t”+t.getText()+”,”);
out.write(“\t”+t.getUser()+”,”);
}
}
嘗試{
視頻下載(1000*60*15);
}抓(例外五) {}
}
}
結論: 有許多可用的社交網站. 這些Facebook和Twitter都是比較常用的. Java提供庫整合我們與這些網站的應用. 因此得出結論我們的討論, 我們可以理解,社會化媒體的整合是開發世界的一個新的層面,我們應該探索它盡可能地.