Как разместить несколько файлов (бывшая фотография) на пост на фан-странице? - PullRequest
0 голосов
/ 02 ноября 2018

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

Вопрос 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.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...