Вот как я обработал размещение фотографии на стене пользователя Facebook. ImagePath и ImageName были строковыми параметрами, которые я передал в функцию, которая содержит этот код.
var fbApp = new FacebookApp();
var auth = new CanvasAuthorizer(fbApp);
if (auth.IsAuthorized())
{
//Create a new dictionary of objects, with string keys
Dictionary<string, object> parameters = new Dictionary<string, object>();
string strDescription = txtDescription.Text;
//Add elements to the dictionary
if (string.IsNullOrEmpty(ImagePath) == false)
{
//There is an Image to add to the parameters
FacebookMediaObject media = new FacebookMediaObject
{
FileName = ImageName,
ContentType = "image/jpeg"
};
byte[] img = File.ReadAllBytes(ImagePath);
media.SetValue(img);
parameters.Add("source", media);
parameters.Add("message", strDescription);
try
{
dynamic result = fbApp.Api("/me/photos", parameters, HttpMethod.Post);
}
catch (Exception ex)
{
//handle error....
string strErr = ex.Message.ToString();
lblValidationMsg.Text = strErr;
}
}
}