Я недавно начал переносить небольшое приложение на Facebook в качестве учебного опыта. Я хорошо знаком с Silverlight и .NET в целом, но пока ничего не сделал на facebook. Поскольку все доступные SDK и API-интерфейсы кажутся неработоспособными или я не смог их правильно использовать, я решил напрямую обратиться к графическому APIу Facebook и до сих пор был прост (я могу войти в систему, получить разрешения, получить профиль, альбомы и фотографии и сообщение в фид пользователей). Теперь я хочу загрузить фотографию, и именно здесь я действительно нажимаю на стену. Я использую что-то вроде этого, чтобы получить возможность отправлять фид:Загрузить фото на Facebook от Silverlight
WebClient client = new WebClient();
client.UploadStringCompleted += new UploadStringCompletedEventHandler(client_UploadStringCompleted);
client.UploadStringAsync(new Uri(String.Format("https://graph.facebook.com/me/feed")), "POST",
String.Format("message={0}&link={1}&picture={2}&access_token={3}", "Test", "www.gong.bg", "http://gong.bg/uploads/teams/teams_logos/logo_small_1.png", this.Access_Token));
Довольно простой, но она прекрасно работает и мне не нужно больше.
Для загрузки фотографий я пытался использовать подобный код, но без успеха, то я решил попробовать с HttpWebRequest и теперь у меня есть следующий:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("https://graph.facebook.com/me/photos"));
request.ContentType = "multipart/form-data";
request.Method = "POST";
request.BeginGetRequestStream(ar =>
{
using (StreamWriter writer = new StreamWriter((ar.AsyncState as HttpWebRequest).EndGetRequestStream(ar)))
{
writer.Write("{0}={1}&", "message", HttpUtility.UrlEncode("Test"));
writer.Write("{0}[email protected]{1}&", "source", HttpUtility.UrlEncode("3.png"));
writer.Write("{0}={1}&", "access_token", this.Access_Token);
}
}, request);
Это не работает, и я не могу видеть проблему является. Согласно документации на Facebook, это должно загрузить фотографию в альбом по умолчанию для приложения (создать один, если не существует)
Спасибо всем.
1. это не так, как «многочастному/form-данных» разместить работы. 2. Я знаю, по крайней мере, три библиотеки Silverlight, которые поддерживают загрузку фотографий в Facebook. Вы уверены, что хотите реализовать свои собственные? – Denis
Нет, я не уверен, но у меня уже есть все остальное на месте, и это будет какое-то усилие, чтобы переместить его. Но в любом случае, вы бы указали мне на некоторые из этих библиотек, возможно, я что-то пропустил. А также, как работают «multipart/form-data»? –
Несколько указателей http://www.ietf.org/rfc/rfc1867.txt, http://www.faqs.org/rfcs/rfc2388.html, http://www.vivtek.com/rfc1867.html – Denis