<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 66,comments - 41,trackbacks - 0
     當(dāng)你想用Java寫一Facebook的應(yīng)用?你把在facebook的帳號(hào)中加入的程序開發(fā)模塊,下載了相關(guān)的java類庫。忽然你發(fā)現(xiàn)不得不停下來:開發(fā)相關(guān)的入門介紹,樣例代碼和文檔說明在哪兒?這樣的挫敗感令人憤怒,而最終導(dǎo)致你不得不放棄。
     
      但愿有人會(huì)盡快寫一個(gè)不錯(cuò)的應(yīng)用Java 開發(fā)facebook應(yīng)用的入門指南。也許只需要你給我些好吃的巧克力,我們可以寫些相關(guān)的介紹文檔,老實(shí)說我們的確也解決了不少相關(guān)的問題。這里有一些技巧幫助你使用java開始建立自己的 facebook應(yīng)用。 這并不是一個(gè)完整的入門指南,但他可以幫你在著手做時(shí)少走些彎路。
     
      八個(gè)注意事項(xiàng)輔助你構(gòu)建Java/facebook應(yīng)用
     
      1.為了你的幸福和健康,建議你使用5.0或更高的JDK開發(fā)包。
     
      2.不用看facebook java開發(fā)包中的列子,因?yàn)槟切├邮轻槍?duì)java桌面應(yīng)用程序的。而通常你是需要寫一個(gè)web應(yīng)用,這兩種應(yīng)用的區(qū)別還是很大的。 一開始,你需要一個(gè)web應(yīng)用服務(wù)容器,你可以能會(huì)選擇tomcat,但我不會(huì),這里面有另一個(gè)故事,我會(huì)找個(gè)合適的時(shí)間再告訴你。Facebook的網(wǎng)絡(luò)應(yīng)用有一個(gè)不常見的調(diào)用模式。大多數(shù)你的頁面會(huì)被facebook調(diào)用。用戶請(qǐng)求一個(gè)facebook的頁面,頁面中的主要內(nèi)容會(huì)從你的服務(wù)器中返回給用戶。你體統(tǒng)的內(nèi)容會(huì)融合到facebook的頁面里返回給用戶。大多數(shù)情況下這些流程不需要你的干預(yù)就能很好的執(zhí)行。但需要注意的是你服務(wù)器端產(chǎn)生的頁面中的javascript是不能執(zhí)行的,這就意味著普通的ajax不再在facebook中應(yīng)用。如果你需要使用AJAX的技術(shù)實(shí)現(xiàn)facebook 提供的 mock-ajax不能完成的功能,則需要通過facebook的頁面跳到你服務(wù)配器上的一般頁面。
     
      3.配置你在facebook上的應(yīng)用程序
     
      不要忘了填寫facebook應(yīng)用的配置文件,你應(yīng)該設(shè)置: 應(yīng)用程序的回調(diào)網(wǎng)址。
     
      應(yīng)用程序的名字- 這個(gè)名字用來表示標(biāo)識(shí)在facebook的頁面。(這些頁面可以是用iframe嵌入到facebook的導(dǎo)航頁,也可以是用FBML標(biāo)記的頁面)。一但設(shè)定,比如http://apps.facebook.com/yourappname/yourpagename 這個(gè)頁面就會(huì)從facebok產(chǎn)生一個(gè)請(qǐng)求到你的服務(wù)器 .對(duì)于新用戶來說,這就是一個(gè)你的應(yīng)用程序的歡迎頁面,邀請(qǐng)用戶來使用傳播你的這個(gè)應(yīng)用。
     
      4.用facebookrestclient
     
      最重要的階級(jí),在客戶端類庫中最重要的類是facebookrestclient.這個(gè)類中包含一系列調(diào)用facebook服務(wù)端的方法,并涵蓋了大部分你需要的功能。可惜facebookrestclient是不是個(gè)架構(gòu)清晰的類。幾乎所有的請(qǐng)求,需要一個(gè)facebookrestclient 這是建造一個(gè)會(huì)話密鑰 .用戶登陸后可以從CGI變量中獲得會(huì)話的密鑰。(參考 FacebookParam.SESSION_KEY.toString())沒有登陸的用戶需要引導(dǎo)到一個(gè)登陸頁面。 試試以下方法:
     
      // 創(chuàng)建一個(gè)無會(huì)話狀態(tài)的FacebookRestClient
     
      FacebookRestClient client = new FacebookRestClient ( 你的api密鑰 , 你的加密密鑰 ) ;
     
      String token = client.authcreateToken () ;
     
      String loginURL = “http : //www.facebook.com/login.php?v=1.0&apikey=&”+ YOUR APIKEY +“&auth_token =”+ token ;
     
      // 這里轉(zhuǎn)向到登陸頁面
     
      // 登陸后就會(huì)返回會(huì)話key
     
      FacebookRestClient.auth_getSession() 以我的經(jīng)驗(yàn)基本沒用。他的作用是把一個(gè)無會(huì)話的client變成一個(gè)有會(huì)話的。我發(fā)現(xiàn)從CGI變量中獲取會(huì)話要比試用這個(gè)方法簡(jiǎn)單。
     
      當(dāng)有一個(gè)會(huì)話key的FacebookRestClient,你可以調(diào)用這個(gè)類提供的各種facebook編輯方法。這些方法可以很方便與facebook進(jìn)行交換操作。但不幸的事這些方法返回的是未經(jīng)處理的XML文檔,這些文檔后續(xù)的處理會(huì)比較麻煩。
     
      比如 friends_get()返回的是
     
      <document>
     
      <friendsgetresponse>
     
      <uid>1</uid>
     
      <uid>2</uid>
     
      <uid>3</uid>
     
      </friendsgetresponse>
     
      </document>
     
      你也許想封裝一些提取信息的方法,例如調(diào)用friends_get(),試試這個(gè)
     
      Document d = client . friends_get () ;
     
      NodeList userIDNodes = d . getElementsByTagName ( " uid " ) ;
     
      int fcount = ids . getLength () ;
     
      List < Integer > friends = new ArrayList < Integer > () ;
     
      for ( int i = 0 ; i < fcount ; i ++ )
     
      { Node node = userIDNodes . item ( i ) ;
     
      String idText = node . getTextContent () ;
     
      Integer id = Integer . valueOf ( idText ) ;
     
      friends . add ( id ) ; }
     
      這樣friends的列表里就填充好了用戶的id.
     
      5.servlet返回局部頁面
     
      當(dāng)你生產(chǎn)在facebook中的頁面時(shí),比如這樣的一個(gè)地址http://apps.facebook.com/yourappname/yourpagename,你必須返回的一個(gè)HTML或FBML標(biāo)記的頁面片段,而不是一個(gè)完全的HTML頁面。
     
      6.學(xué)習(xí)FBML .
     
      FBML這是一套特有的facebook標(biāo)簽。試用標(biāo)簽可以讓你很方便的完成很多功能(比如顯示用戶的名稱和圖片)。
     
      7.用戶邀請(qǐng)好友
     
      你想完成病毒式推廣的邀請(qǐng)好友?facebook最近修改了他的api(2007.11)。新版本主要改進(jìn)了一個(gè)特殊的form,fb:form.
     
      原來完成這功能的方法FacebookRestClient.notifications_sendRequest()已經(jīng)不再使用了,如果你不慎調(diào)用將會(huì)得到一個(gè)異常。
     
      8.用戶檔案信息顯示頁面
     
      要想將一些信息放入用戶的檔案信息頁面,使用FacebookRestClient.profile_setFBML()。這個(gè)方法復(fù)寫了你在應(yīng)用里設(shè)定的默認(rèn)信息頁面。當(dāng)你設(shè)定了用戶的個(gè)人檔案的FBML頁面,這些頁面被流量時(shí),facebook會(huì)緩存這些頁面信息而不會(huì)即時(shí)更新。這樣就使得用戶信息的動(dòng)態(tài)更新會(huì)麻煩一些。當(dāng)一個(gè)事件觸發(fā)用戶信息改變時(shí),你需要重新調(diào)用profile_setFBML()更新這些信息。幸運(yùn)的時(shí)既然你已經(jīng)有一個(gè)登陸的客戶端可以做任何事情,所以這個(gè)客戶端也可以任意設(shè)置你的用戶資料的數(shù)據(jù)項(xiàng)。


    MSN:
    posted on 2008-02-15 01:00 kylixlu 閱讀(470) 評(píng)論(0)  編輯  收藏 所屬分類: Others
    主站蜘蛛池模板: 性无码免费一区二区三区在线| 亚洲综合国产精品| 亚洲国产成人精品久久| 99精品视频免费| 国产gv天堂亚洲国产gv刚刚碰| 亚洲无人区码一二三码区别图片| 亚洲第一视频在线观看免费| 在线播放免费播放av片| 亚洲精品免费观看| 免费黄色电影在线观看| 全黄大全大色全免费大片| 亚洲国产成人综合| 亚洲一区二区三区无码中文字幕| 日本免费人成视频在线观看| 激情五月亚洲色图| 国产一级一片免费播放i| a毛片免费在线观看| 成人亚洲国产精品久久| 亚洲中文字幕无码一久久区| 精品国产麻豆免费网站| h视频免费高清在线观看| 精品国产_亚洲人成在线| 亚洲精品久久无码| 亚洲无人区午夜福利码高清完整版| 国产成人免费永久播放视频平台 | 看全色黄大色大片免费久久| **真实毛片免费观看| 亚洲精品精华液一区二区 | 成人免费激情视频| 色多多A级毛片免费看| 亚洲男人电影天堂| 亚洲精品岛国片在线观看| xxxx日本免费| 好吊色永久免费视频大全| 亚洲情A成黄在线观看动漫软件 | 亚洲国产精品xo在线观看| 亚洲五月激情综合图片区| 亚洲精品无码成人片在线观看| 四虎免费永久在线播放| 亚洲AV无码乱码在线观看牲色| 久久午夜免费视频|