Я использую следующий код для публикации изображения в качестве файла вложения на пост фан-страницы.
Вопрос 1 : Как опубликовать несколько изображений (как несколько вложений)?
[HttpPost]
public ActionResult PostArticle(FbPostArticle model)
{
var fanpage = _fanpageService.GetById(model.PageId);
if (fanpage == null)
{
return RedirectToAction("Index");
}
var fb = new FacebookClient();
string photoId = "";
try
{
dynamic result;
string url;
if (model.Image != null)
{
if (!IsAllowExtension(model.Image.FileName))
return RedirectToAction("Feed", model.PageId);
var fbUpl = new FacebookMediaObject
{
FileName = model.Image.FileName,
ContentType = model.Image.ContentType
};
var target = new MemoryStream();
model.Image.InputStream.CopyTo(target);
byte[] bytes = target.ToArray();
fbUpl.SetValue(bytes);
url = fanpage.PageId + "/photos";
result = fb.Post(url, new
{
access_token = fanpage.AccessToken,
published = false,
image = fbUpl
});
photoId = result.id;
}
var postContent = new Dictionary<string, object>
{
{"access_token", fanpage.AccessToken},
{"message", model.Message},
};
if (!string.IsNullOrEmpty(photoId))
{
postContent.Add("attached_media[0]", "{\"media_fbid\": " + photoId + "}");
}
url = fanpage.PageId + "/feed";
result = fb.Post(url, postContent);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
return RedirectToAction("Feed", new { id = model.PageId });
}
}
Вопрос 2 : Как мне получить эти изображения через Graph API?
(Кажется, я не могу получить его, следуя инструкциям в документе API.)