将项目/故事发布到Facebook用户墙壁

时间:2013-01-23 10:47:27

标签: c# facebook-graph-api facebook-c#-sdk

我正在尝试使用Facebook Graph自动将项目发布到Facebook用户的供稿。 我的例子是我的应用程序的用户获得积分。在Facebook开发中心,我创建了一个对象“Points”和一个动作“赚钱”

我找到了现有问题Facebook C# SDK v6 - How to post graph action?并已实施以下代码,但没有帖子出现。 (代码目前处于测试ActionResult中,但最终会被捆绑到业务逻辑中,并被称为Azure服务,可以在获得积分时运行)

var fb = new FacebookClient("{auth-token}");
        dynamic parameters = new ExpandoObject();
        parameters.points = "{url}";
        parameters.explicitly_shared = true;

        try
        {
            dynamic result = fb.Post("me/my-app-name:earn", parameters);

            return Content(result.ToString());
        }
        catch(FacebookApiException ex)
        {
            return Content(ex.Message);
    }

注意:我传入的URL已经获得了正确的(我相信无论如何)OG元标记,与我正在使用的对象和操作相关联。

我收到以下回复({integer-id}是我要回复的ID)

{ “ID”: “{整数-ID}”}

我是否必须使用此ID进行另一次“发布”以实际让该项目显示在用户Feed中?

非常欢迎任何帮助

1 个答案:

答案 0 :(得分:1)

重要提示:并非所有已发布的操作都实际显示在用户时间轴或您的朋友新闻源上!实际上,大多数自定义操作都不是。

但是,如果你得到一个真正的post-ID,这意味着该动作肯定是成功发布的!您可以在以下位置查看浏览器中发布的内容:

https://www.facebook.com/ {用户ID} /活动/ {动作id}

其中{action-id} =您获得的ID,{user-id}是您的数字用户ID或用户名。

您还可以查看https://www.facebook.com/ {username} / allactivity以查看所有已发布的活动

另外,你应该考虑使用Scores-&成就 - 用于您的用例的API,它们可能比使用自定义操作更好:

https://developers.facebook.com/docs/howtos/scores/ https://developers.facebook.com/docs/howtos/achievements/