与Android Facebook SDK 3.0共享链接和文本

joh*_*182 8 sdk post android share facebook

我试图升级到Facebook SDK 3.0,并最终得到一切与Request.newStatusUpdateRequest().但是,我的应用程序共享/发布文本以及链接.我试过/研究过以下内容:

Request.newStatusUpdateRequest()
Run Code Online (Sandbox Code Playgroud)

这似乎没有Bundle的任何选项或任何其他方式来包含链接和图标.

Request.newRestRequest()
Run Code Online (Sandbox Code Playgroud)

跳过这个因为我看到REST被折旧了.

new WebDialog.FeedDialogBuilder(_activity, session, params).build().show();
Run Code Online (Sandbox Code Playgroud)

这实际上工作得很好,但结果的帖子似乎没有链接到我的Facebook应用程序,我不知道这将如何影响我的Facebook见解.

Request.newPostRequest()
Run Code Online (Sandbox Code Playgroud)

从我所读到的,这种方法似乎是正确的方法.但是,我无法弄清楚将GraphObject作为参数之一传入的位置.

什么是将文本,链接和图像发布/共享到用户墙上的PROPPER方式?它似乎是Request.newPostRequest()所以我将包含我的代码.

Request request = Request.newPostRequest(session, "me/feed", ??graph_object??, new Request.Callback() {
    @Override
    public void onCompleted(Response response) {
        showPublishResult("message", response.getGraphObject(), response.getError());
    }
});
request.setParameters(params);
Request.executeBatchAsync(request);
Run Code Online (Sandbox Code Playgroud)

但究竟什么是GraphObject?我在哪里获得graph_object?我在GraphObject/OpenGraph/Graph API上从FB读取的越多,我就越感到困惑.

如果我完全朝着错误的方向前进,请告诉我.如果Request.newPostRequest是执行此操作的方式,请提供有关GraphObject参数的更多信息.

joh*_*182 15

最后使用以下方法设法通过Facebook SDK 3.0获得我需要的一切:

Bundle params = new Bundle();
params.putString("caption", "caption");
params.putString("message", "message");
params.putString("link", "link_url");
params.putString("picture", "picture_url");

Request request = new Request(Session.getActiveSession(), "me/feed", params, HttpMethod.POST);
request.setCallback(new Request.Callback() {
    @Override
    public void onCompleted(Response response) {
        if (response.getError() == null) {
            // Tell the user success!
        }
    }
});
request.executeAsync();
Run Code Online (Sandbox Code Playgroud)