2014-01-10 1 views
0

코드는 개발자의 fb 계정에 의해 기록되는 개발자의 Android 앱에서만 실행될 수 있습니다.
무슨 일이 일어 났는지 모르겠습니다.
다른 설정이 필요합니까? GetData의 방법Facebook FQL 만 개발자 계정에서 실행 가능

public void GetDate(){ 


    String fqlQuery = "SELECT post_id,updated_time,message FROM stream WHERE source_id="+ userID +" and actor_id="+userID+" and type IN (46,66,80,128,247,257,285) LIMIT 120";  

    Bundle params = new Bundle(); 
    params.putString("q", fqlQuery); 
    Session session = Session.getActiveSession(); 

    Request request = new Request(session, "/fql", params,HttpMethod.GET, new Request.Callback() { 
     public void onCompleted(Response response) { 
      try { 
       GraphObject graphObject = response.getGraphObject(); 
       FacebookRequestError error = response.getError(); 
       if (graphObject != null) { 
        // Check if there is extra data 
        if (graphObject.getProperty("data") != null) {       

         JSONArray dataArray = new JSONArray(graphObject.getProperty("data").toString()); 

         Log.e("JSONARRAY",graphObject.getProperty("data").toString()); 


         for (int i = 0; i < dataArray.length(); i++) { 
          JSONObject dataObject = (JSONObject) dataArray.get(i);       
          String postID = dataObject.getString("post_id"); 
          String postTime = dataObject.getString("updated_time"); 
          String postMessage = dataObject.getString("message"); 
          Log.e("postID",postID); 
          Log.e("postTime",postTimev); 
          Log.e("postMessage",postMessage); 
         }      
        } else if (error != null) { 
        } 
       }else{ 
       } 
       //Log.e("Result: ", response.toString()); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

     } 
    }); 
    Request.executeBatchAsync(request); 
    finish(); 

} 

나는 그것을 테스트하기 위해 페이스 북 개발자 도구를 사용의

SELECT post_id,updated_time,message FROM stream WHERE source_id="+ userID +" and actor_id="+userID+" and type IN (46,66,80,128,247,257,285) LIMIT 120 

하지만 그 실행할 수 있습니다 ..

"SELECT name,username, birthday_date,pic_square FROM user WHERE uid IN " 
+ "(SELECT uid2 FROM friend WHERE uid1 = me())" 

, 그것은 작동 할 수 있습니다 .. .. 링크 : https://developers.facebook.com/tools/explorer/


권한 : 페이스 북 개발자 안드로이드 페이지 가지러에 단계의

  1. 모든 샌드 박스 모드는

답변

0

확인 여부를 https://developers.facebook.com/tools/explorer/에 의해

  • 얻기 액세스 토큰을 시작 (I 완료 한) 켜기 또는 끄기. 샌드 박스 모드를 끕니다. 샌드 박스가 앱에 표시 될 때까지는 개발자 만 볼 수 있습니다. 페이 스북 애플 리케이션 페이지에서 변경하십시오

  • +0

    답장을 보내 주지만 앱 상태는 모든 사용자가 실시간으로 사용할 수 있습니다 .... – user3181880

    0

    문제는 당신이 쿼리를 실행하는 방법에 누워있을 가능성이 높습니다. FQL을 실행하기 전에 사용하는 코드와 인증 방법을 보여주십시오. 또한 필요한 권한을 부여 받았는지 확인 했습니까?

    +0

    나는 내 코드를 올렸지 만 충분합니까? (고맙습니다) – user3181880