我正试图在Facebook上发布特定的用户群,例如(亲密朋友,家人或大学朋友......),我使用了以下代码。 我用过的代码:
FacebookClient fpost1 = new FacebookClient(access_token);
fpost1.Post("/1234567890/feed", new { message = "test post"});
注意:当我在此异常之前做一些工作时,access_token正常工作。 我把我的朋友列表ID而不是1234567890,你可以从图中得到它... / me?fields = friendlists
它没有用,并且给了我这个错误“(OAuthException - #2)发生了意外错误。请稍后重试您的请求。”
FacebookClient fpost1 = new FacebookClient(access_token);
fpost1.Post("/me/feed", new { message = "it is very cold.", to="1234567890"});
这一项工作,但它发布到“只有我”作为目标。
谢谢
答案 0 :(得分:1)
在我看来你在这做什么......
FacebookClient fpost1 = new FacebookClient(access_token);
fpost1.Post("/1234567890/feed", new { message = "test post"});
错了。因为我认为1234567890
是user-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是朋友列表中的一个