私は次のことを行ってきました: https ://developers.facebook.com/docs/howtos/androidsdk/3.0/run-fql-queries/#step2
これには次のコードがあります(簡単にするためにfqlクエリを変更しました):
queryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String fqlQuery = "SELECT name FROM user WHERE uid IN " +
"(SELECT uid2 FROM friend WHERE uid1 = me()LIMIT 2)";
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) {
Log.i(TAG, "Result: " + response.toString());
}
});
Request.executeBatchAsync(request);
}
});
特にLog.iを見ると、response.toString()は次の形式で何かを返します。
Result: {Response: responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"data":[{"name":"John Doe"},{"name":"Jake Josh"}]}}, error: null, isFromCache:false}
今、私の仮定は、応答がjson objであるということだったので、次のようなことを試しました。
JSONObject json=new JSONObject(response);
しかし、これは機能していないので、取得した応答の読み方がよくわかりません。厳密に言えば、名前をループしたいだけですが、実際に応答を読み取る方法がわかりません。