Facebook: элемент сообщения "стена" игнорируется - PullRequest
0 голосов
/ 07 марта 2012

Я использую Facebook C # SDK для публикации на своей деловой странице в Facebook. Для продукта, который у меня есть на сайте, я хочу сделать пост на стене с изображением и описанием.

У меня есть следующий код для этого:

  var args = new Dictionary<string, object>();
  args["message"] = "Product description ... ";
  args["caption"] = "Last offer !!!";
  args["description"] = "Product description ... ";
  args["name"] = "Product name ... "
  //picture field is the link to my image on my site
  args["picture"] = "http://mydomain.com" + Url.Action("ImageFile", "Files", new {sizes = "400x650", fileName = file.FileName}); 
  args["link"] = Url.Abs(Url.Action("Details", "Product", new {id = id}));

Все поля в порядке, кроме изображения. Изображение полностью игнорируется и не отображается на стене.

Моя цель - вести себя так же, как в случае, когда я вручную вставляю информацию о продукте в поле «Мой статус», и генерируется такое сообщение, которое содержит первое изображение и первый абзац.

PS: Это может быть связано с некоторыми настройками безопасности приложения Facebook?

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

После многих часов отладки я обнаружил проблему.Первое, на что нужно обратить внимание, это то, что я использую MVC 3. Проблема была с форматом моей ссылки.Следующий код работает:

 var pictureLink = "http://mydomain.com" + Url.Action("ImageFile", "Files", new {sizes = "400x650", fileName = file.FileName});
 pictureLink = Server.UrlDecode(pictureLink);
 args["picture"] = pictureLink;

В моем случае ссылка содержала некоторые закодированные символы.Вы должны отправить ссылку как есть на Facebook, и они закодируют ее в формате URL.

0 голосов
/ 07 марта 2012

Для устранения неполадок удалите args ["link"] и посмотрите, не публикует ли он изображение. Если нет, значит, что-то не так с разрешениями на URL-адресе картинки, к которым пытается получить доступ Facebook. Если он публикует картинку без аргумента ссылки, измените аргумент ссылки на аргумент «action» «name» и «link», чтобы узнать, сможете ли вы включить свою ссылку в сообщение.

...