Ошибка добавления на стену при добавлении картинки - PullRequest
1 голос
/ 10 марта 2011

Мне удалось опубликовать сообщение на стене пользователя, но когда я пытаюсь добавить изображение к параметрам сообщения, сообщение завершается ошибкой, и результат равен нулю.Я думаю, что я делаю все хорошо, но я мог бы использовать некоторую помощь.Заранее спасибо!

 IDictionary<string, object> parameters = new Dictionary<string, object>();
                    parameters["access_token"] = fbAccessToken;
                    parameters["name"] = "my picture";
                    parameters["message"] = "this is a picture uploaded from my the facebook sdk";                        

                   parameters.Add("picture", "http://t2.gstatic.com/images?q=tbn:Bebedm7ldqvC3M:http://www.configmac.com/images/logiciel/image.jpg");

                    fbApp.PostAsync("me/feed", parameters, (val) =>
                    {
                        if (val.Error == null)
                        {
                            // Asyncronous call, only executed after obtaining Facebook response
                            var result = (IDictionary<string, object>)val.Result;
                        }
                        else
                        {
                        }
                    });

1 Ответ

2 голосов
/ 10 марта 2011
var picture = File.ReadAllBytes("a.jpg");
var fb = new FacebookClient(_accessToken);

fb.PostCompleted +=
    (o, args) =>
    {
        if (args.Error == null)
        {
            MessageBox.Show("Picture posted to wall successfully.");
        }
        else
        {
            MessageBox.Show(args.Error.Message);
        }
    };

dynamic parameters = new ExpandoObject();
parameters.caption = txtMessage.Text;
parameters.method = "facebook.photos.upload";

var mediaObject = new FacebookMediaObject
                      {
                          FileName = Path.GetFileName(ofd.FileName),
                          ContentType = "image/jpeg"
                      };
mediaObject.SetValue(picture);
parameters.source = mediaObject;

fb.PostAsync(parameters);
...