如何发送在Android上使用Facebook的对话好友请求?(How to send friend

2019-06-25 17:02发布

我想TOT发送使用Facebook Android SDK中好友请求。 我目前使用此代码(这是我从拿到这里 ):

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

其中APP_ID是我的应用程序的Facebook的ID和用户名是我想添加好友的用户名。 这导致了以下错误:

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

我以为id参数意味着APP_ID。

我已经通过关于对话的有关文件在了http://developers.facebook.com/docs/reference/dialogs/friends/和http://developers.facebook.com/docs/reference/androidsdk/dialog/ ,但仍不能看着办吧。

任何帮助表示赞赏。

Answer 1:

应该是这样的:

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

在这情况下, this是一个还实现了一个活动DialogListener

因为它说,在文档中:

APP_ID -您的应用程序的标识。 必需的,但大多数的SDK自动指定。
编号 -必要。 目标用户的ID或用户名添加为朋友。



Answer 2:

您可以使用:

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();

如果你想设置的请求预选的朋友只需添加以下到requestBuilder:

requestBuilder.setTo("FRIEND_ID, ANOTHER_FRIEND_ID")之前建立的对话。

令人感到奇怪的是,它接受好友列表作为ID的连续清单,而不是一个数组,也不名单。 我没有找到在文档,但只是发现它的工作原理



文章来源: How to send friend request using Facebook dialogs on Android?