2012-09-05 9 views
8

저는 페이스 북의 비공개 그룹의 관리자입니다. 페이스 북 API를 사용하여 모든 그룹 게시물을 스크랩하고 싶습니다.그룹 피드의 게시물에 사용할 수없는 콘텐츠가 있습니다.

그래프 api 탐색기를 사용하여 read_stream, friends_group 및 user_groups 권한이있는 액세스 토큰을 생성했습니다. 내가 https://graph.facebook.com/GROUP_ID/feed?access_token=TOKEN와 그룹 게시물을 액세스 할 때

나는 각 게시물과 데이터 배열을 얻을 수 있지만, 캡션 요소는

"첨부 파일 UnavailableThis 첨부 파일이 제거되었을 수 있습니다 값 또는 권한이 없을 수 있습니다 공유하는 사람이있다 그것을 당신과 공유하십시오. " 및 링크, 메시지 등의 다른 모든 필드가 없습니다.

브라우저를 사용하여 페이스 북 그룹을 열면 모든 게시물을 볼 수 있습니다.

여기에 뭔가가 있습니까?

+0

관리자는 비공개 그룹입니까? 그룹의 사용자가 만든 게시물을 볼 수 없습니까? 그렇다면 여기에 파일을 올려야하는 버그가있는 것 같습니다 - https://developers.facebook.com/bugs – deesarus

+0

게시물은 json 개체에 있지만 글 내용을 가져올 수 없습니다. 문제는 게시물 유형이 상태 일 때 나에게 유용하지 않은 캡션보다 다른 정보를 얻지 못한다는 것입니다. 실제로 "status"유형은 [Post] (https://developers.facebook.com/docs/reference/api/post/)의 문서에도 없습니다. – sergiofbsilva

+2

페이 스북에서 버그 문제를 만들었습니다. 언제든지 그것을 구독하고 replayable.https로 표시 : //developers.facebook.com/bugs/382129358523494? browse = search_510934aadfa685a54627700 – sergiofbsilva

답변

0

이 문제는 해결 된 것으로 보입니다. 유효한 인증 토큰이있는 한 개인 그룹의 모든 그룹 콘텐츠에 액세스 할 수 있습니다.

0

다음은 JSON 개체에서 그룹의 게시물을 가져 오는 코드입니다. 이 JSON 객체는 "data"의 JSON 배열을 포함합니다. 여기에는 메시지 (또는 게시물 상태)에 대한 별도의 JSON 배열이 포함되어 있습니다.

GraphRequest.newGraphPathRequest(
      accessToken, "/id/posts", 
      new GraphRequest.Callback() { 
       @Override 
       public void onCompleted(GraphResponse  graphResponse) { 

        try { 
graphResponse.getRawResponse(); 

         m=graphResponse.getJSONObject(); 
         JSONArray n=m.getJSONArray("data"); 
         messages=new String[n.length()]; 
         for(int i=0;i<n.length();i++) { 
          JSONObject a = n.getJSONObject(i); 
          messages[i]=a.optString("message"); 
         } 

         list.setAdapter(new ArrayAdapter<String> (fb.this,android.R.layout.simple_list_item_1,messages)); 

        } catch (Exception e) { 
         Toast.makeText(fb.this, "error is: " + e.toString(), Toast.LENGTH_LONG).show(); 
        } 
       } 
      }).executeAsync();