【问题标题】:How to send friend request using Facebook dialogs on Android?如何在 Android 上使用 Facebook 对话框发送好友请求?
【发布时间】:2012-06-24 06:42:47
【问题描述】:

我想使用 Facebook Android SDK 发送好友请求。我目前正在使用此代码(我从here 获得):

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/ 浏览了有关对话框的相关文档,但仍然无法弄清楚。

感谢任何帮助。

【问题讨论】:

    标签: android facebook request facebook-android-sdk friend


    【解决方案1】:

    应该是这样的:

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

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

    正如文档中所说:

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

    【讨论】:

    • "id" 是参数的名称,USER_ID 是运行时的实际值,应该放在那里。
    【解决方案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 列表,而不是数组或列表。我在文档中没有找到,只是发现它有效

    【讨论】:

      猜你喜欢
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多