Можно ли опубликовать обновление статуса и добавить файл изображения с помощью API Graph Facebook? - PullRequest
1 голос
/ 22 ноября 2011

Я хочу опубликовать обновление статуса в своем фиде и добавить фотографию, находящуюся на диске, используя api graph facebook. Возможно ли это или я должен предоставить адрес гиперссылки на изображение? Я знаю, что можно добавить фотографию в альбом с помощью параметра source объекта Post , но я ищу способ обновления статуса с вложенным файлом изображения.

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Это определенно возможно, поскольку мы опубликовали изображения непосредственно в Альбомах и Стенах с помощью API C # Facebook, который публикует данные в API графа.

Мы используем FacebookMediaObject для достижения этой цели, но я считаю, что это просто создает форму публикацииданные требуются.Вот наш код, так что вы можете посмотреть, поможет ли он:

var facebookClient = new FacebookClient(entry.AccessToken);
var mediaObject = new FacebookMediaObject
            {
                FileName = filename,
                ContentType = "image/jpeg"
            };
var fileBytes = System.IO.File.ReadAllBytes(filename);
mediaObject.SetValue(fileBytes);

IDictionary<string, object> upload = new Dictionary<string, object>();
upload.Add("name", imagename);
upload.Add("message", message);
upload.Add("@file.jpg", mediaObject);

var result = facebookClient.Post("/" + albumId + "/photos", upload) as JsonObject;

Обратите внимание на имя поля "@ file.jpg", которому назначен mediaObject.

надеюсь, это поможет.

Обновление

Возможно, вам придется сначала опубликовать изображение на стене пользователя и получить идентификатор объекта, который затем можно будет указать в записи с полем object_id.

0 голосов
/ 20 октября 2015

Вы можете сделать это без использования Facebook SDK. Вот код для загрузки изображения через прямой API Facebook.

            var ImagePath = "480.jpg";
            var caption = "Description of Photo";
            string fullurl = string.Format("https://graph.facebook.com/me/photos?caption={0}&access_token={1}", System.Web.HttpUtility.UrlEncode(caption), accessToken);
            WebClient client = new WebClient();
            var returnVar = client.UploadFile(fullurl, ImagePath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...