How to send friend request using Facebook dialogs on Android?

白昼怎懂夜的黑 提交于 2019-11-27 19:02:59

问题


I want tot send a friend request using the Facebook Android SDK. I'm currently using this code (which I got from here):

Bundle parameters = new Bundle();
parameters.putString("APP_ID","USERNAME");
facebook.dialog(this, "friends", parameters, this);

where APP_ID is the Facebook ID of my app and USERNAME is the username of the friend I want to add. This leads to the following error:

API Error Code:100
Invalid parameter
The parameter id is required

I thought the id parameter meant the APP_ID.

I have gone through the relevant documentation regarding dialogs at http://developers.facebook.com/docs/reference/dialogs/friends/ and http://developers.facebook.com/docs/reference/androidsdk/dialog/, but still can't figure it out.

Any help is appreciated.


回答1:


Should be something like:

Bundle parameters = new Bundle();
parameters.putString("id", USER_ID);
facebook.dialog(this, "friends", parameters, this);

In case that this is an activity which also implements DialogListener.

As it says in the documentation:

app_id - Your application's identifier. Required, but automatically specified by most SDKs.
id - Required. The ID or username of the target user to add as a friend.




回答2:


You can use:

WebDialog.RequestsDialogBuilder requestBuilder = (new WebDialog.RequestsDialogBuilder(this,
                Session.getActiveSession(), params)).setOnCompleteListener(
                new OnCompleteListener() {

                    @Override
                    public void onComplete(Bundle values,
                            FacebookException error) {
                        if (error != null) {

                        } else {
                            final String requestId = values
                                    .getString("request");
                            if (requestId != null) {
                                //if the user completed the action,
                            } else {

                            }
                        }
                    }

                });
        WebDialog requests = requestBuilder.build();
        requests.show();

If you want to set the request to preselected friends just add the following to the requestBuilder:

requestBuilder.setTo("FRIEND_ID, ANOTHER_FRIEND_ID"), before building the dialog.

What is strange is that it accepts the list of friends as a concatenated list of ids, not an Array nor list. I didn't find in in the docs, but just found that it works



来源:https://stackoverflow.com/questions/11175483/how-to-send-friend-request-using-facebook-dialogs-on-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!