Отметить фотографию на Facebook с помощью C #? - PullRequest
1 голос
/ 01 апреля 2012

Есть ли ошибка для пометки фото на sdk?Поскольку я читаю что-то, у некоторых людей возникает такая же проблема ... и его новая ..

в любом случае .. Я могу пометить фотографию на Android, и она работает .. и теперь я пытаюсь отметить фотографию на 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' и 'id' вместо 'tag_uid', но я получил другие ошибки .. (Это было похоже на недопустимый параметр)

и вот вывод параметров

[0] = {[tags, [{"tag_uid":"641194276","tag_text":"heyy..","x":"10","y":"10"}]]}

и вот мой код Android, который работает ..

опубликовать фотографию на стене друга на фейсбуке с android

хорошо .. У меня два вопроса

1- Где моя ошибка в моем коде C #?

2- Как мне пометить более одного друга ??

на странице sdk, есть PHOTO_ID / tags? Tags = [{"id": "1234"}, {"id": "12345"}]
но, как я объяснил, это не работает...

спасибо

1 Ответ

1 голос
/ 17 мая 2012

Вот мой код там работает:

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 });
}
...