3

我想使用 Facebook Android SDK 发送好友请求。我目前正在使用这段代码(我从这里得到的):

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

其中 APP_ID 是我的应用程序的 Facebook ID,而 USERNAME 是我要添加的朋友的用户名。这会导致以下错误:

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/浏览了有关对话框的相关文档,但仍然想不通。

任何帮助表示赞赏。

4

2 回答 2

4

应该是这样的:

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

如果这this是一个也实现的活动DialogListener

正如文档中所说:

app_id - 您的应用程序的标识符。必需,但大多数 SDK 会自动指定。
id - 必需。要添加为好友的目标用户的 ID 或用户名。

于 2012-06-24T07:16:32.690 回答
1

您可以使用:

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 列表,而不是数组或列表。我在文档中没有找到,但发现它有效

于 2013-03-12T11:47:31.240 回答