2013年4月21日 星期日

android facebook api

此處將我使用過的 facebook android api 記錄下來,持續增加中

1. 取得 facebook 朋友清單
//取得朋友清單需要的權限 read_friendlists


public void GetFriendsList(){
//取得朋友清單方法
try {
//facebook.request("me/Friends") 取回來的資料是 json 格式,直接轉 json 比較方便
//要用字串也行,使用方式為 String data = facebook.request("me/Friends");
//只是直接用字串的話就是一整堆資料,要切
JSONObject json = new JSONObject(facebook.request("me/Friends"));
//取回來的資料是包在 data 裡,所以將 data 裡的資料放進 array 裡面
JSONArray array = json.getJSONArray("data");

if(array != null){
for(int i=0;i<array.length();i++){
String id = array.getJSONObject(i).getString("id");
String name = array.getJSONObject(i).getString("name");
Toast.makeText(this, name, Toast.LENGTH_LONG).show();
}
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


2. 將訊息自動發佈到塗鴉牆上


//發佈到塗鴉牆上需要的權限 publish_stream



public void postToWall() {
    //此處是會自動發佈至塗鴉牆的寫法
    //另外還有一種寫法是會跳出一訊息框讓使用者自行填寫要發布的消息
   Bundle params = new Bundle();

   params.putString("message", "此處為發佈至塗鴉牆上的訊息" );
   try {
facebook.request("/me/feed", params, "POST");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}