如何在Facebook墙上发布使用asp.net c#的特定用户列表?

时间:2014-01-06 03:56:19

标签: c# asp.net facebook facebook-graph-api

我正试图在Facebook上发布特定的用户群,例如(亲密朋友,家人或大学朋友......),我使用了以下代码。 我用过的代码:

1

FacebookClient fpost1 = new FacebookClient(access_token);
fpost1.Post("/1234567890/feed", new { message = "test post"});

注意:当我在此异常之前做一些工作时,access_token正常工作。       我把我的朋友列表ID而不是1234567890,你可以从图中得到它... / me?fields = friendlists

它没有用,并且给了我这个错误“(OAuthException - #2)发生了意外错误。请稍后重试您的请求。”

2

FacebookClient fpost1 = new FacebookClient(access_token);
fpost1.Post("/me/feed", new { message = "it is very cold.", to="1234567890"});

这一项工作,但它发布到“只有我”作为目标。

谢谢

2 个答案:

答案 0 :(得分:1)

在我看来你在这做什么......

FacebookClient fpost1 = new FacebookClient(access_token);
fpost1.Post("/1234567890/feed", new { message = "test post"});

错了。因为我认为1234567890user-id,对吧?不是friendslist-id。根据文档,这个边缘/端点签名就像....

/{user-id}/feed

其中user-id显然是用户ID。文件说明......

  

Graph API中的大多数节点都有可以发布到的边(例如照片或帖子)。所有Graph API发布都是通过向相关端点发出的HTTP POST请求完成的,其中包含任何必需参数。例如,如果您想代表某人发布帖子,您将发出HTTP POST请求,如下所示:

POST graph.facebook.com
  /{user-id}/feed?
    message={message}&
    access_token={access-token}

请注意,它代表“代表某人”。我的理解是,您代表某人发布并且这样做,这个人必须通过您的应用程序请求access_token。换句话说,如果此用户尚未登录您的应用并生成有效的访问令牌,则无法在他/她的墙上发布

答案 1 :(得分:0)

POST graph.facebook.com
me/feed?message="hello"&privacy={"value": "CUSTOM", "allow": "1234567890"}

其中1234567890是朋友列表中的一个