2013-08-16 4 views
-1

У меня проблема с отправкой фотографии на facebook. Никто не знает, как это сделать. Пожалуйста помоги. Благодарю.Windows Phone Facebook post photo

FacebookClient fb = new FacebookClient(App.AccessToken); 

       fb.PostCompleted += (o, e) => 
       { 
        if (e.Error != null) 
        { 
         Dispatcher.BeginInvoke(() => MessageBox.Show(e.Error.Message)); 
         return; 
        } 

        var result = (IDictionary<string, object>)e.GetResultData(); 

        Dispatcher.BeginInvoke(() => 
        { 
         MessageBox.Show("Success post message to the wall."); 
         // reset the selections after the post action has successfully concluded 
         tbmessage.Text = ""; 
        }); 
       }; 

       var parameters = new Dictionary<string, object>(); 
       parameters["name"] = tbmessage.Text; 

       dynamic res = fb.PostTaskAsync("me/photos", parameters); 
+0

В ответах вы сказали: «проблема размещения фотографии»; но в коде вы «отправляете фид» - что именно вы ищете? И какие ошибки вы получаете? –

+0

Я умею писать, чтобы кормить, теперь я не знаю, как подключиться с фотографией – user2688526

+0

Pls редактирует ваши вопросы, что очень вводит в заблуждение. Кроме того, вы хотите, чтобы изображение было опубликовано на стене или в фиде? Оба - разные понятия. –

ответ

0

В списке параметров, вы должны указать источник изображения с помощью одного из следующих:

  • url: действительный URL-адрес для изображения

  • source: iamge данных

[Код]

[HttpPost] 
    public ActionResult PostPhotoOnWall(HttpPostedFileBase file) 
    { 
     var filename = Path.GetFileName(file.FileName); 
      StreamResourceInfo sri = null; 
     Uri jpegUri = new Uri(filename, UriKind.Relative); 
     sri = Application.GetResourceStream(jpegUri); 
     byte[] imageData = new byte[sri.Stream.Length]; 
     sri.Stream.Read(imageData, 0, System.Convert.ToInt32(sri.Stream.Length)); 

     var client = new FacebookClient(); 

     // Post to user's wall 
     var postparameters = new Dictionary<string, object>(); 
     var media = new FacebookMediaObject 
     { 
      FileName = filename, 
      ContentType = "image/jpeg" 
     }; 
     media.SetValue(imageData); 

     postparameters["source"] = media; 
     postparameters["access_token"] = Session["access_token"].ToString(); 

     var result = client.Post("/me/photos", postparameters); 

     return View("PostPhoto"); 
    } 
+0

Shadowfax вы знаете, как загрузить фотографию в facebook из локального хранилища. – user2688526

+0

Да, просто укажите «исходные данные изображения» в поле: 'source' –

+0

Используются ли параметры [" source "] = new FacebookMediaObject? жаль новых для разработки WP. – user2688526