0

我浏览了各种 Facebook教程来处理 Facebook 与 Native Android 应用程序的集成,并成功实现了所有流程,包括 Facebook 登录、获取用户详细信息、分享、选择朋友。我被困在用例中,其中一个用户发送的应用程序邀请请求是为收件人处理的。

问题陈述: Facebook发送请求教程很好地解释了向朋友发送应用程序请求,这对我来说很好,因为我可以看到成功响应如下。

fbconnect://success?request=<request ID here>&to%5B0%5D=<userID>

但下一步是处理请求。根据教程,一旦收件人用户打开 Facebook for Android 应用程序并点击通知(我在左上角菜单 -> 应用程序部分下看到),该应用程序将使用包含请求数据的意图启动,如下所示。

Uri intentUri = getActivity().getIntent().getData();

可以获取更多请求 ID(一个或多个),如下所示

String requestIdParam = intentUri.getQueryParameter("request_ids");

在我的情况下,Facebook 应用程序启动已安装的应用程序,但 intentUri(上面列出的语句)本身返回为 null。因此,我无法继续进一步提取请求详细信息。

注意: 我可以确认发布的请求包含完整的信息,例如使用以下方法的数据,方法是传递发布时获得的硬编码 requestID(以接收用户身份登录应用程序后)。

private void getRequestDetails(String inRequestId) {
        Request request = new Request(Session.getActiveSession(), 
            inRequestId, null, HttpMethod.GET, new Request.Callback() {
                @Override
                public void onCompleted(Response response) {
                Log.d (TAG, response.toString());
                }
            });
        // Execute the request asynchronously.
        Request.executeBatchAsync(request);
    }

早期的帮助/指针将不胜感激。此外,有没有办法通过 Facebook API 查询待处理的应用程序请求,而不是通过 Facebook 原生应用程序意图调用。

4

1 回答 1

0

这是 Facebook 错误。只需在 App Dashboard 中添加Mobile Web,您将获得 request_ids

于 2013-03-26T11:37:03.653 回答