Tôi đã tìm kiếm trên trang web developers.facebook tìm cách sử dụng SDK mới và gửi truy vấn FQL nhưng có vẻ như mọi thứ đã thay đổi và tài liệu đang nói về tất cả các cách khác để yêu cầu me
hoặc friends
nhưng không phải thông tin cụ thể như những người bạn đó đang sử dụng ứng dụng của tôi hay không?Cách gửi truy vấn FQL bằng SDK Android mới
vì vậy tôi đã viết xuống một truy vấn FQL đẹp
select uid, name, pic_square, is_app_user from user where uid in (select uid2 from friend where uid1 = me())
và bây giờ, cả tôi phải làm là chạy nó.
Vì yêu cầu duy nhất có vẻ tốt để trả lại danh sách bạn bè là Request.executeMyFriendsRequestAsync
và Request.newMyFriendsRequest
Tôi cho rằng đó là bạn của tôi, nhưng cả hai đều không cho phép tinh chỉnh truy vấn FQL.
Tôi làm cách nào để gửi truy vấn và lấy lại danh sách bạn bè hoặc ít nhất là JSONArray
?
Hướng dẫn Truy vấn Hackbook - FQL đang sử dụng phiên bản cũ của SDK và tôi không biết phải làm gì.
UPDATE:
tôi đã thêm các dòng mã nghĩ nó sẽ cho phép tôi tạo truy vấn này:
public void onCreate(Bundle savedInstanceState) {
// SOME CODE
this.openSession();
}
protected void onSessionStateChange(SessionState state, Exception exception) {
if (state.isOpened()) {
Session activeSession = getSession().getActiveSession();
facebook.setAccessToken(activeSession.getAccessToken());
facebook.setAccessExpires(activeSession.getExpirationDate().getTime());
Request req = Request.newMyFriendsRequest(activeSession, new GraphUserListCallback() {
@Override
public void onCompleted(List<GraphUser> users, Response response) {
System.out.println(response.toString());
}
});
Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", "select uid, name, pic_square, is_app_user " + "from user where uid in "
+ "(select uid2 from friend where uid1 = me())");
req.setParameters(params);
Request.executeBatchAsync(req);
}
}
Tôi đã làm điều này, suy nghĩ nó sẽ chỉnh sửa theo yêu cầu và thêm thông tin Tôi muốn nhưng tôi nhận được lỗi này:
10-31 09:36:31.647: E/AndroidRuntime(15986): java.lang.NullPointerException
10-31 09:36:31.647: E/AndroidRuntime(15986): at com.sample.facebook.to.db.MainActivity$1.onCompleted(MainActivity.java:62)
10-31 09:36:31.647: E/AndroidRuntime(15986): at com.facebook.Request$2.onCompleted(Request.java:269)
10-31 09:36:31.647: E/AndroidRuntime(15986): at com.facebook.Request$4.run(Request.java:1197)
10-31 09:36:31.647: E/AndroidRuntime(15986): at android.os.Handler.handleCallback(Handler.java:587)
10-31 09:36:31.647: E/AndroidRuntime(15986): at android.os.Handler.dispatchMessage(Handler.java:92)
10-31 09:36:31.647: E/AndroidRuntime(15986): at android.os.Looper.loop(Looper.java:130)
10-31 09:36:31.647: E/AndroidRuntime(15986): at android.app.ActivityThread.main(ActivityThread.java:3691)
10-31 09:36:31.647: E/AndroidRuntime(15986): at java.lang.reflect.Method.invokeNative(Native Method)
10-31 09:36:31.647: E/AndroidRuntime(15986): at java.lang.reflect.Method.invoke(Method.java:507)
10-31 09:36:31.647: E/AndroidRuntime(15986): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
10-31 09:36:31.647: E/AndroidRuntime(15986): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
10-31 09:36:31.647: E/AndroidRuntime(15986): at dalvik.system.NativeStart.main(Native Method)
cảm ơn một nhóm! Tôi đã không chỉ nhận được cách sử dụng định dạng mới của 'Graph-API' với SDK này ... – thepoosh
làm việc giống như ma thuật! Cảm ơn! – TharakaNirmana
Nó thực sự làm việc nhưng tôi có câu hỏi, tại sao nó không trả lại tất cả bạn bè của tôi? chỉ một số ít. – JayR