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 則留言:

匿名 提到...

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

ola的家 提到...

要取得Hash Key必須要先建立個人使用的keystore,而建立keystore就必須要使用keytool工具。

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

黃郁瑋 提到...
作者已經移除這則留言。
黃郁瑋 提到...
作者已經移除這則留言。
匿名 提到...

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

ola的家 提到...

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

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

阿帕 提到...

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

ola的家 提到...

:D

匿名 提到...

新建應用程式是在哪建

ola的家 提到...

進到facebook developers點選右上角的Apps的tab,

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

匿名 提到...

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


匿名 提到...

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

匿名 提到...

http://blog.mosil.biz/2012/09/app-misconfigured-facebook-login/

PO下那個網址

匿名 提到...

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

ola的家 提到...

這個問題我也沒遇過。

黃仲賢 提到...

大大你好 我想請問一下

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

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

拜託 ...

ola的家 提到...

這你要去問軟體作者才知道,應該是程式出錯了。

匿名 提到...

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

ola的家 提到...

總是會遇到很多奇怪的問題,恭喜你解決了。 :D

匿名 提到...

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

匿名 提到...

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

張貼留言