新しい Facebook SDK 3.0.1 を実装していますが、Session での使用について疑問があります。
ユーザーIDのみを照会する関数を作成しました:
String userID;
public String getUserID(){
final Session session = Session.getActiveSession();
if (session != null && session.isOpened()) {
Request request = Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (session == Session.getActiveSession()) {
if (user != null) {
userID = user.getId();
System.out.println("User ID " + userID); //OK
}
}
}
});
Request.executeBatchAsync(request);
return userID;
}else{
return null;
}
}
問題は、System.out.println("ID is... "+FB.getUserID());
「ID is ...」のみが表示されるためです。
しかし、内部println
にはID(ユーザーID XXXXXXXXX)が完全に表示されます。問題は、情報を受け取る時間です。どうすれば制御できますか?