2012-10-11 2 views
1

내 앱이 친구의 페이스 북 벽에 텍스트를 보낼 수있는 기능을 제공하고 싶습니다. 여기 은 가능 내 자신의 벽에 메시지를 보낼 수Android 앱 : id를 미리 알지 못해 사용자의 친구에게 게시물 보내기

private void postOnFriendsWall() { 
      Bundle params = new Bundle(); 
      params.putString("to", ""); 
      facebook.dialog(this, "feed", params, new DialogListener() 

, 내가 지금까지있는 것입니다. id 매개 변수를 공백으로 두어 모든 친구를 표시하려했지만 작동하지 않아서 내 서재에만 게시하도록 제안합니다. 사용자가 메시지를 보낼 사람을 선택할 수있는 페이스 북 대화 상자가 있습니까?

이 쉽게 할 어디 다른 답변을 보았다하지만 당신은 사전에 친구의 ID를 알고 경우에만 사용할 수 있습니다. 내 앱 사용자의 친구 ID를 모르므로 목록을 동적으로 가져 오는 방법은 무엇입니까?

편집 : 단지 나는 내가 원하는 흐름을 설명하면 내 질문이 더 명확하게 것이라고 생각 : 버튼을 눌러 (완료) 내 응용 프로그램

  • 에 페이스 북에서

    1. 사용자 로그를 사용자가 선택 그에게 메시지를 보내고 자하는 사람들
    2. 사용자는 그래프 API를 사용하여 메시지
  • +0

    을 친구 목록

    public JSONArray GetFriendList(){ Bundle params = new Bundle(); String resp=""; JSONArray resp_json=null; try { resp = fb.request("me/friends", params, "GET"); resp_json=new JSONArray(resp); } catch (FileNotFoundException e) { //... } catch (MalformedURLException e) { //... } catch (IOException e) { //... }catch(JSONException e){ //... } return resp_json;//JSONArray of friend list, try to use debug mode to browse the content and parse it yourself,get a JSONObject from the JSONArray and get the user ID of that JSONObject }; 

    2를 가져옵니다. 나는이 동안 잠시 노력했지만 실패했다. – Enigma

    +0

    안녕하세요 수수께끼, 귀하의 의견을 주셔서 감사합니다, 나는 많은 연구를 해냈습니다. 아직도, 나는 이것이 불가능한 이유를 이해하지 못한다. 이것이 Facebook 정책의 것인지 알아? – Don

    답변

    1

    당신은 간단하게이 작업을 수행 할 수 있습니다를 전송 (나는 이것을 가지고하는 방법을 모른다). 당신이해야 할 일은 그래프 URL로 그래프 API와 "FriendID/피드"를 사용하여 "POST"요청을) 이름과 페이스 북 ID)

    2로 친구 목록 (가져 오기)

    1


    다음은 제 코드입니다. 내 코드를 사용하기 전에 그래프 API와 JSONObject에 대해 더 자세히 알아보아야한다.

    1)) 후 친구 벽

    이 가능하다면 나는 의심
    public String PostWall(String Message,int Level,String FriendID){ 
    //FriendID can be grepped form the function above 
    |/*REMARK:Privacy Level 
    * level 0 ==>only me 
    * level 1==>friend only 
    * level 2==>public 
    */ 
    Bundle params = new Bundle(); 
    params.putString("message", Message); 
    JSONObject privacy = new JSONObject(); 
    try { 
        switch (Level){ 
         case 0: 
          privacy.put("value", "SELF"); 
          break; 
         case 1: 
          privacy.put("value", "ALL_FRIENDS"); 
          break; 
         case 2: 
          privacy.put("value", "EVERYONE"); 
         break; 
        } 
    } catch (JSONException e1) { 
        // 
    } 
    params.putString("privacy", privacy.toString()); 
    String resp= ""; 
    try { 
        resp = fb.request(FriendID+"/feed", params, "POST"); 
        } catch (FileNotFoundException e) { 
    } catch (MalformedURLException e) { 
    } catch (IOException e) { 
    } 
    try{ 
        resp = new JSONObject(resp).getString("id"); 
        return resp;//The post ID 
    }catch(JSONException e1){ 
        // 
    } 
    }; 
    
    +0

    도움을 주셔서 감사합니다.이를 수행하는 방법에 대한 자습서가 있습니까? 일부 코드 및 자세한 내용을 이해할 수 있습니다. – Don

    +0

    좋아, 내 대답을 편집 한 모양을 가지고 –

    +0

    facebook-android-sdk에서 간단한 예제를 공부하여 그래프 API를 사용하는 방법을 배우십시오. 내 대답을 수락 해주십시오. –

    관련 문제