在脸书上用C#标记一张照片
本文关键字:一张照片 | 更新日期: 2023-09-27 18:29:35
在sdk上标记照片有错误吗?因为我读了一些东西,有些人也有同样的问题。。。和它的新。。
无论如何。。我可以在安卓上标记照片,它很管用。。现在我正试图在c#上标记一张照片,但我遇到了一些错误。。现在它的"无效的照片标签主题"
这是我的c#代码
PhotoTag tags = new PhotoTag { tag_uid = "?????", x = "10", y = "10", tag_text ="heyy.."};
List<PhotoTag> tagList = new List<PhotoTag>() { tags };
var tagparameters = JsonConvert.SerializeObject(tagList);
var photoDetails = new Dictionary<string, object>();
photoDetails.Add("tags", tagparameters);
var fbResult = client.Post("/" + photoID+ "/tags", photoDetails);
//*************************************************************
public class PhotoTag
{
public string tag_uid { get; set; }
public string tag_text { get; set; }
public string x { get; set; }
public string y { get; set; }
}
我在这里阅读https://developers.facebook.com/docs/reference/api/photo/
我用了"to"answers"id"而不是"tag_uid",但我又犯了一个错误。。(这似乎不是一个有效的参数)
这是参数的输出
[0] = {[tags, [{"tag_uid":"641194276","tag_text":"heyy..","x":"10","y":"10"}]]}
这是我的android代码,它可以工作。。
将照片发布给朋友';s墙上的脸书与安卓
嗯。。我有两个问题
1-我的C#代码中的错误在哪里?
2-如何标记多个朋友??
在sdk页面上,有PHOTO_ID/标签?tags=[{"id":"1234"},{"id":"12345"}]
但正如我所解释的,它不起作用。。。
感谢
这里我的代码正在工作:
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 });
}