【发布时间】:2014-04-28 19:38:01
【问题描述】:
我正在使用 C#.NET 在 Facebook 中创建一个“页面选项卡”应用程序。在此应用程序中,用户可以将图片上传到应用程序所属页面的提要。用户应该会在图片中自动标记。
我已经有了将图片上传到墙上的代码,但每次让用户被标记的尝试似乎都不起作用。 这是我目前用来将图片上传到墙上的代码。
var parameters = new Dictionary<string, object>();
parameters.Add("url", "<url to image>");
parameters.Add("message", "Message to go with the picture");
parameters.Add("access_token", "<access_token of page this application belongs to>");
FacebookClient client = new FacebookClient("AccessToken");
client.Post("https://graph.facebook.com/page_ID/photos", parameters);
但是我如何标记这张图片中的用户?我假设用户应该登录到我的应用程序,然后我应该以某种方式使用“用户 ID”。但我所做的尝试似乎根本不起作用。
我尝试的其中一件事是通过在代码中直接插入我自己的“uid”来标记自己,如下所示:
parameters.Add("tags", new object[] {
new Dictionary<string, object>(){
{"tag_uid", "<My own user id>"},
{"x", "0"},
{"y", "0"},
}
});
我也试过这样的东西:
var tags = new[] {
new { tag_uid = "<My own user id>", x = 0, y = 0 }
};
parameters.Add("tags", tags);
甚至
var tags = new[] {
new { tag_text = "testing", x = 0, y = 0 }
};
parameters.Add("tags", tags);
如果我转到“Graph API Explorer”并在那里尝试,我也会收到一条错误消息:
{ “错误”: { "message": "发生未知错误。", “类型”:“OAuthException”, “代码”:1 } }
但所有这些只会导致错误:“OAuthException - #1) 发生未知错误。”。如果我注释掉标记部分,一切似乎都很完美。那么如何获取用户ID,然后在我上传的图片中标记他呢?
【问题讨论】:
标签: c# asp.net facebook facebook-graph-api