網頁

2011年6月20日 星期一

Android學習_使用facebook sdk_Part1準備

為了讓程式多一點互動的感覺,除了之前上傳資料到自己的伺服器外,facebook是一個很重要的指標,可以分享到facebook就讓大家好像有跟世界串聯一樣的假象。

所以,連續兩個六、日就決定好好研讀一下facebook sdk,目標是可以上傳相片,並顯示相關資訊於個人塗鴉牆上。

但要使用facebook sdk,也不光是語法貼一貼就可以完成的,在開始寫程式前需要作一些準備工作:
一、下載
1. 下載facebook sdk(位置)[https://github.com/facebook/facebook-android-sdk]
2. 下載git(位置)[http://git-scm.com/]

二、安裝
1. 安裝facebook sdk:在使用facebook sdk時,是以加入Library的方式,所以打開你的Eclipse→File→NEW→Android project→選擇Create Project from existing source。

完成後,會在Package Explorer看到一個com_facebook_android的專案。
2. 安裝Git,就點擊exe進行安裝。但是安裝完成以後,我不太了解為什麼安裝?因為我們只需要裡面的一個檔案。如果你們有變更目錄,"他"應該會在C:\Program Files\Git\bin的openssl.exe。

三、取得Hash Key(就跟google map api的MD5類似)
1. 將剛剛取得的openssl.exe存到C:\Program Files\Java\jre6\bin內。
2. 利用keytool製作keystore。語法:keytool -genkey -v -keystore ola2048.keystore -alias ola2048 -keyalg RSA -keysize 2048 -validity 10000
3. 利用keytool取得剛剛keystore的Hash Key。語法:keytool -exportcert -alias ola2048 -keystore ola2048.keystore | openssl sha1 -binary | openssl base64

四、到facebook Developers取得Application ID(位置)
1. 新建應用程式。
2. 選擇Mobile and Devices
3. 輸入Key Hash後儲存
4. 記住你的Application ID

官方步驟說明

如果你很快的取得了Application ID,那恭喜你,光這組號碼我搞了一天多。 T.T

準備結束,可以開始開發囉!

21 則留言:

  1. 2. 利用keytool製作keystore
    請問是甚麼意思??

    回覆刪除
  2. 要取得Hash Key必須要先建立個人使用的keystore,而建立keystore就必須要使用keytool工具。

    方法可以參考:http://wangshifuola.blogspot.com/2011/06/androidgoogle-map-api-key.html的第一步驟。

    回覆刪除
  3. 作者已經移除這則留言。

    回覆刪除
  4. 作者已經移除這則留言。

    回覆刪除
  5. 請問大大~
    為了產生key hash所打的cmd命令語句
    我輸入了
    但都會有"找不到msys-crypto-0.9.8.dll,所以無法啟動"
    我也下載了這個.dll檔,放在路徑C:\Program Files\Java\jre7\bin中,但還是無法成功
    不知道該怎麼辦耶><"

    回覆刪除
  6. 我沒有遇過這個問題,去搜尋C:\Program Files\Java\jre6\bin也沒有看到該檔案。

    你是否有安裝MSYS?嘗試放到該程式的資料夾看看。

    回覆刪除
  7. 謝謝分享!我找這組號碼也找超久的.., 因為小弟我是用Phonegap開發, 基本上我對java和android不太熟, 所以我為了找那個key也翻了好多文章XD, 你的文章對我很有幫助, 非常感謝!

    回覆刪除
  8. 新建應用程式是在哪建

    回覆刪除
  9. 進到facebook developers點選右上角的Apps的tab,

    在右上角有'+建立新的應用程式'的按鈕。

    回覆刪除
  10. 我照著步驟用 也有拿到APP ID
    可是之後用手機開FriendPickerSample這個程式
    他會跳到一個facebook的頁面
    其中有段文字是""不當預設facebok登入,請按okay直接返回該應用程式""
    官方影片中有跳出好友名單 我都沒有
    經過反覆確認 我實在不知道問題出在哪q_q好奇怪


    回覆刪除
  11. (模擬器沒以上問題 實體手機才有)
    之後有查到有人說如果把官方的FB APP卸載或停用
    就可正常執行了 但雙方的衝突不解決有點怪怪的
    總不能因有安裝官方FB的APP 就一直出問題吧
    大大知道原因嗎?感謝

    回覆刪除
  12. http://blog.mosil.biz/2012/09/app-misconfigured-facebook-login/

    PO下那個網址

    回覆刪除
  13. WELL.....不小心就解決了
    我去執行官方給的一個SAMPLE >>> GraphApiSample
    他一樣會因為官方FB APP的存在而登入失敗
    但他會跳出一個DIALOG 裡面會跟你講你真正能用的KEY HASH
    (就如上方給的那個網址講的 只是我沒有另外改程式碼 直接執行GraphApiSample這個專案)
    老實說我也不知道為什麻這一個KEY HASH才能用
    之前在KEY STORE裡根本沒抓過這個KEY HASH(我抓了不只一個)

    回覆刪除
  14. 大大你好 我想請問一下

    我玩ANDROID遊戲 她可以連線至FB跟FB朋友比分數

    但是我都會出現 因 BIKE RACE 不當預設FACEBOOK的登入,請按OKAY直接返回該應用程式,吳育經由FACEBOOK在登入
    以上的字樣 所以我不能登入耶 ... 想請教一下 有甚麼方是可以解決 甚麼SDK等等我都沒有使用過 可以拜託交交我簡單明瞭的方法嗎

    拜託 ...

    回覆刪除
  15. 這你要去問軟體作者才知道,應該是程式出錯了。

    回覆刪除
  16. 囧我一開始在exportcert時候也一直發生
    缺少某某dll檔,後來去另外下別的地方的openssl再取代一開始複製的那個opensll,突然就解決了..有點詭異,另外感謝一下樓主內容很詳細,獲益良多!

    回覆刪除
  17. 總是會遇到很多奇怪的問題,恭喜你解決了。 :D

    回覆刪除
  18. 我在利用keytool取得剛剛keystore的Hash Key這個階段時一直碰到說我缺少Libcrypto.dll這個檔案,而查到的解決辦法居然是要重灌電腦 不知道您有沒有碰過..

    回覆刪除
  19. 我也是用git的openssl會出現缺少Libcrypto.dll,在抓其他的openssl又出現序數 820 無法在動態連結程式庫 LIBEAY32.dll,不知道樓樓樓上去哪抓openssl的?

    回覆刪除