2013年2月迁移后如何在朋友的时间线上发布?

时间:2013-01-07 06:17:52

标签: facebook facebook-graph-api post facebook-opengraph facebook-wall

由于Facebook正在删除从 2013年2月6日以后通过Graph API发布到朋友的墙上的能力,我想知道是否有一些替补发布到朋友的墙上。

到目前为止,我正在使用 Feed API 来使用to参数,但它会抛出异常:

  

(#200)此应用程序禁用向其他用户发布Feed故事

我找到的可能解决方案是: OG:提及标记。但除了使用OpenGraph之外,有没有办法实现这一目标?请帮忙。

4 个答案:

答案 0 :(得分:9)

  

但除了使用开放图表之外,还有其他方法可以实现这一目标吗?

完成究竟是什么?

在任何类型的帖子中标记用户/朋友?仅适用于Open Graph故事或照片。 (但请注意,如果用户实际上不在其中,或者如果它不是真实的照片,而是仅仅是合成图像,那么应用 应该标记照片中的用户。)

或张贴到朋友的墙上?从2013年2月起,使用Feed对话框,

答案 1 :(得分:2)

2013年2月将删除通过API发布到朋友留言墙的可能性 - https://developers.facebook.com/roadmap/#february-2013

如果您的应用已经失败,也许您的设置中启用了相应的迁移?无论如何,现在开发这样的东西没什么意义,因为它在一周内不再起作用了。

“我们将删除通过Graph API发布到用户朋友的墙上的功能。具体来说,针对[user_id] / feed的帖子[user_id]与会话用户不同,或者stream.publish调用,其中target_id用户与会话用户不同,将失败。“

如果您想让人们发布到朋友的时间轴,请调用Feed对话框。通过用户提及标记或动作标记包含朋友的故事将显示在朋友的时间线上(假设朋友批准标记)。有关详细信息,请参阅this blog post

编辑:

@Sahil:如果现在有效,请参阅this answer。我不确定它现在是否会起作用。但你应该尝试一次。我之前通过选择朋友并邀请他并在他的墙上也发布了一些工作流程。我现在没有测试过,请确认一下。

答案 2 :(得分:2)

如果您在Feed对话框中使用to参数,则还需要指定有效的访问令牌。

我们实际上遇到了同样的问题,我们通过将Feed对话框显示为iframe并动态调整to参数来解决。您可以在此处找到深入的答案+代码示例:https://stackoverflow.com/a/14532867/1406819

答案 3 :(得分:1)

在此处查看FB.ui文档中的Feed方法:https://developers.facebook.com/docs/reference/dialogs/feed/

将“to”参数设置为朋友的ID将允许发布到时间线。 to - 将发布此故事的配置文件的ID或用户名。如果未指定,则默认为from的值。

有关详细信息,请参阅该页面下方的属性详细信息。 请注意,使用此选项将触发确认对话框。

如果您正在使用JS SDK,可以使用以下内容:

var MY_ID = "1000000000000";
    function post(link, callback){
        var post = {};
        post.method = 'feed';
        if(!link.target)
        {
            link.target = MY_ID;
        }
        if(!link.from)
        {
            link.from = MY_ID;
        }

        post.to             = link.target;
        post.from           = link.from;
        post.link           = link.link;
        post.name           = link.name;
        post.picture        = link.picture;
        post.caption        = link.caption;
        post.description    = link.description;

        FB.ui(post, function(response){
            if(typeof callback=='function'){callback(response);}
        });
    }