Integrating Facebook in Android - Parse

參考Parse的教學

我們的目的是使用Parse API結合Facebook SDK

並且做出一個可以撈到FB使用者資料的簡單APP

根據教學,我們在開始coding之前,有兩個前置作業要做:
  1. 申請一個Facebook APP
  2. 把Key hash丟到Facebook APP中,可以參考FB官方流程
其實按照Parse官方的教學走就沒什麼問題,但是有些還是可以提出來一下

產生Key hash

按下你的「Windows+R」組合鍵開啟執行,輸入cmd打開命令列,準備開始製作*.keystore檔案,輸入
keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -keysize 2048 -validity 10000

程式碼中「-keystore android.keystore」這邊可以自行修改成你要的*.keystore,如banana.keystore

「-alias android」也可以自行修改你要的數值,如banana

輸入後它會叫你填一些東西,乖乖填完就好囉

填完資料會產生一個keystore,我們接著要來取出Key Hash,輸入
keytool -exportcert -alias apa -keystore apa.keystore | openssl sha1 -binary | openssl base64

就可以取得key hash囉!


產生Key hash 問題排除


  1. 如果有困難,無法取得key hash,可以先在cmd中cd到.android資料夾(像我的keystore就是放在 C:\Users\User\.android這個地方)
  2. 下載OpenSSL,把openssl.exe丟到存放*.keystore的地方,我的是放在C:\Users\User\.android


「Invalid Scope:basic_info. Use public_profile,user_friends instead...」問題

問題出在於onLoginButtonClicked()這個function裡面,basic_info是Facebook舊的permission
把它換成新的public_profile, user_friends之類的就沒問題了。

「can't import com.facebook...」問題

開發和網路有互動的APP時一定要記得開網路呀XD

「could not find *.apk」問題

我在用Eclipse的時候不停的build和clean,最後怒點右鍵點property→Android
在SDK那邊點了isLibrary,把這個勾勾取消掉就好囉


最後可以到這幾個地方看看自己的成果

  1. Facebook Developer 選擇自己的APP
  2. Home - Parse  選擇Parse Core

沒有留言:

張貼留言