问题
How to Tagging a photos using facebook c# sdk.
This is my code (Upload image):
var fbApp = new FacebookClient(Session["xAccessToken"].ToString());
string xfilename = MergedCombinedImage.ImageUrl;
xfilename = xfilename.Replace("images/temp/", "");
var fbUpl = new Facebook.FacebookMediaObject
{
FileName = xfilename,
ContentType = "image/jpg"
};
var bytes = System.IO.File.ReadAllBytes(Server.MapPath(MergedCombinedImage.ImageUrl));
fbUpl.SetValue(bytes);
var photoDetails = new Dictionary<string, object>();
photoDetails.Add("message", "test");
photoDetails.Add("image", fbUpl);
var fbResult = fbApp.Post(@"/" + albumID + @"/photos", photoDetails);
var result = (IDictionary<string, object>)fbResult;
var photoID = result["id"];
Thanks
pongpang
回答1:
To tag you can do that (a simple exemple):
private const string ExtendedPermissions = "user_about_me,user_photos,publish_stream";
[HttpPost]
[FacebookAuthorize(Permissions = ExtendedPermissions, LoginUrl = "/Home/LogOn?ReturnUrl=~/Home")]
public ActionResult MensagemPost(string message)
{
var fb = new FacebookWebClient();
dynamic me = fb.Get("me");
string friendId_1 = // get the first one friend id
string friendId_2 = // get the second one friend id
var tags = new[]
{
new { tag_uid = friendId_1, x = 20, y = 20 },
new { tag_uid = friendId_2, x = 40, y = 40 },
new { tag_uid = (string)me.id, x = 60, y = 60 }
};
dynamic parameters = new ExpandoObject();
parameters.message = message;
parameters.tags = tags;
parameters.url = "http://1.bp.blogspot.com/-evheT51sfeM/TlO_wZ8YDqI/AAAAAAAAA8I/fjlg0G8AgMY/s1600/The-best-top-hd-desktop-naruto-shippuden-wallpaper-naruto-shippuden-wallpapers-hd-11.jpg";
dynamic result = fb.Post("me/photos", parameters);
return RedirectToAction("Index", new { success = true });
}
回答2:
take a look at the facebook developers api reference. http://developers.facebook.com/docs/reference/rest/photos.addtag/
来源:https://stackoverflow.com/questions/5218245/facebook-c-sharp-sdk-upload-photos-with-tagging