你好脸书示例墙帖子请求在使用朋友选择器后不起作用



使用facebook SDK 3.5和Android4设备(三星xcover2)。

我正试着挑选朋友贴到墙上。

前提条件

  • FBAndroid-3.5.apk从SDK安装,启动并验证
  • HellobookSample.apk:更改canPresentShareDialog标志以强制使用Request而不是FacebookDialog.ShareDialogBuilder()

// canPresentShareDialog = FacebookDialog.canPresentShareDialog() canPresentShareDialog = false;

步骤

(我需要这样做,因为我想限制允许的观众)

  1. 打开示例应用程序
  2. 单击"使用facebook登录"
    =>用户已登录
  3. 挑选一些朋友
  4. 状态更新后

    =>request.executeSync();

结果:请求未完成。条目未过帐。没有诊断消息。

然而,它通常会反过来:先发帖子,然后挑选朋友。

根据未知变量(外部温度,太阳风?),上述主要用例可能会成功。如果示例应用程序有这种情绪,强制停止并重新启动有时会有所帮助。如果我在没有FBAndroid-3.5.apk的情况下运行,用例通常会更加不可靠。

我只想要一个零状态,从那里我可以成功地运行用例。

FacebookDialog.ShareDialogBuilder()似乎正在工作。如果它支持观看者限制,我会使用它。

代码

以下是示例应用程序的代码片段。(我特别提到了canPresentShareDialog=false,这也可以通过卸载facebook原生apk来完成)。

private void postStatusUpdate() {
    if (canPresentShareDialog) {
        FacebookDialog shareDialog = createShareDialogBuilder().build();
        uiHelper.trackPendingDialogCall(shareDialog.present());
    } else if (user != null && hasPublishPermission()) {
        final String message = getString(R.string.status_update, user.getFirstName(), (new Date().toString()));
        Request request = Request
                .newStatusUpdateRequest(Session.getActiveSession(), message, place, tags, new Request.Callback() {
                    @Override
                    public void onCompleted(Response response) {
                        showPublishResult(message, response.getGraphObject(), response.getError());
                    }
                });
        Log.i("MYAPP", "request executeAsync() ");
        request.executeAsync();
    } else {
        pendingAction = PendingAction.POST_STATUS_UPDATE;
    }
}

完整活动可在以下位置查看:

https://github.com/facebook/facebook-android-sdk/blob/master/samples/HelloFacebookSample/src/com/facebook/samples/hellofacebook/HelloFacebookSampleActivity.java

这似乎是我的限制性防火墙造成的。S**t。

最新更新