如何通过 Facebook 获取朋友的 ID?

How to get friends' id via Facebook?

我有一份用户 phone 联系人的列表。当用户点击联系人时,我希望我的应用程序发布在他的墙上。我将使用带参数 "TO" 的提要对话框。但为此我需要 Facebook 好友的 ID 和姓名列表。然后我将 select 借助名称获得合适的 ID。

我已经通过三种方式进行了授权,尝试了id请求。这是第一个:

if(session.getState().isOpened()){
        Log.i(TAG, "Creating request");
        Request friendRequest = new Request(session, "/me/taggable_friends", null,  HttpMethod.GET, new Request.Callback() {
            public void onCompleted(Response response) {
                Log.w(TAG, "Complete");
                progressDialog.dismiss();
            }
        });


        Log.i(TAG, "Sending request");
        friendRequest.executeAsync();
    }

第二个:

Request friendRequest = Request.newMyFriendsRequest(session,
                new Request.GraphUserListCallback(){
                    @Override
                    public void onCompleted(List<GraphUser> users, Response response) {
                        Log.w(TAG, "Request successful");
                        progressDialog.dismiss();
                    }
                });

第三个:

Log.i(TAG, "Creating request");
        Request friendRequest =  new Request(session, "/me/friends", null, HttpMethod.GET, new Request.Callback() {
                    public void onCompleted(Response response) {
                        Log.e(TAG, "Complete");
                        progressDialog.dismiss();
                    }
                }
        );

        Log.i(TAG, "Sending request");
        friendRequest.executeAsync();

全部returns什么都没有。 onComplited void 没有启动。会话权限:

[public_profile, user_likes, user_friends, user_status]

我的错误在哪里?或者还有其他方法吗?

taggable_friends 仅用于标记朋友,您不应将其用于任何其他用途,并且不会在审核过程中获得批准。唯一的 serious/allowed 方法是使用 /me/friends,但请记住,您只会得到也授权了您的应用程序的朋友。这意味着您只能使用授权您的应用程序的朋友为"to"参数。