【问题标题】:Invite Friend Request using new Android SDK 3.0使用新的 Android SDK 3.0 邀请好友请求
【发布时间】:2012-10-21 00:04:03
【问题描述】:

我正在使用刚刚在 Android 上发布的新 Facebook SDK 3.0。我想让用户邀请他/她的朋友加入应用

但是,在新的 SDK 中,您不会使用应用 ID 创建 new Facebook 对象。您可以按照教程中的说明扩展 FacebookActivityhttp://developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/authenticate/

因此,我无法使用提供的参考资料向朋友发送邀请,因为没有 facebook 对象可以调用 dialog 方法http://developers.facebook.com/docs/howtos/androidsdk/3.0/send-requests/

我已经设置了 Friend Picker UI 并且可以获取用户选择的 GraphUser 对象。 http://developers(dot)facebook(dot)com/docs/tutorials/androidsdk/3.0/scrumptious/show-friends/

但是,我不知道如何邀请用户选择的朋友

有人知道如何在新 SDK 中邀请朋友吗?你会使用 FbDialog 类吗?如果有,需要提供的 url 字符串 是什么? (我尝试使用“apprequests”,但没有成功)

感谢您的帮助。

【问题讨论】:

    标签: android facebook facebook-android-sdk fbdialogs


    【解决方案1】:

    试试这个链接:

    https://developers.facebook.com/docs/howtos/androidsdk/3.0/send-requests/

        private void sendRequestDialog() {
        Bundle params = new Bundle();
        params.putString("message", "Learn how to make your Android apps social");
        WebDialog requestsDialog = (
            new WebDialog.RequestsDialogBuilder(getActivity(),
                Session.getActiveSession(),
                params))
                .setOnCompleteListener(new OnCompleteListener() {
    
                    @Override
                    public void onComplete(Bundle values,
                        FacebookException error) {
                        final String requestId = values.getString("request");
                        if (requestId != null) {
                            Toast.makeText(getActivity().getApplicationContext(), 
                                "Request sent",  
                                Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(getActivity().getApplicationContext(), 
                                "Request cancelled", 
                                Toast.LENGTH_SHORT).show();
                        }
                    }
    
                })
                .build();
        requestsDialog.show();
    }
    

    【讨论】:

    • 嗨,在旧的我会像这样添加 params.putString("to", userIDString); params.putString(“消息”,消息);。现在我将在哪里提供 Friends 用户 ID??
    • @Ramachandran 使用 setTo(String id) 方法。 developers.facebook.com/docs/reference/android/3.0/…
    【解决方案2】:

    您可以为此使用 com.facebook.widget.WebDialog 类:

    WebDialog dialog = new WebDialog.Builder(myActivity, mySession, ...).build();
    dialog.show();
    

    另请参阅帮助类 WebDialog.FeedDialogBu​​ilder 和 WebDialog.RequestsDialogBu​​ilder,它们可以更轻松地构建这些对话框。

    【讨论】:

    • 谢谢!没有意识到旧的方式并没有被弃用。
    • 此方法已弃用,实际上实例化“Facebook”类已弃用。请提供其他解决方案。
    • 更新了指令以在最终位中反映新的 API。
    • 嗨,在旧的我会像这样添加 params.putString("to", userIDString); params.putString(“消息”,消息);。现在我将在哪里提供 Friends 用户 ID??
    • 添加参数,新建WebDialog.Builder()后,调用builder.getParameters(),在返回的Bundle中添加你想要的参数,然后调用builder.build()创建WebDialog。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    相关资源
    最近更新 更多