Заяц быстрых фактов
- ПЛАТФОРМА: Actionscript 3 с Facebook
- SDK COMPILER: FlashDevelop
- ПРОГРАММАТОР: Головная боль: (
Я пишу приложение, которое позволяет вам делать снимки с веб-камеры и публиковать их в фотографиях пользователей в фотоальбоме, который называется как мое приложение (именно это делает FB, когда вы не указываете альбом)затем фотография связывается в новом сообщении канала и загружается на веб-сервер моего клиента, где мой клиент может одобрить ее публикацию также на странице своей компании в Facebook.
Звучит просто, как и должно, но яЯ столкнулся с огромным количеством проблем различного характера, менял приложение сто раз (после изменения политики Facebook), но я не могу получить удовлетворительный результат.
Это способы, которые я пытался:
Загрузка фотографии в автоматически созданный альбом с именем приложения пользователя, получение URL-адреса загруженной фотографии с Facebook, а затем указание URL-адресаОн должен быть создан следующим образом:
url = Facebook.getImageUrl(response.id);
var data:Object = { message:'testest', picture:url, description: 'test' };
Facebook.api("/me/feed", feedresponse, data, "POST");
Thisработал нормально, но после некоторых обновлений я столкнулся со страшным "(# 341) пределом запроса действия канала").Это неприемлемо для приложений, которые я создаю.
- Поэтому я прочитал, что Facebook изменил политики, и теперь они предлагают использовать доступное диалоговое окно создания каналов, введя
Facebook.ui('feed', data);
, поэтому я повторил шагив 1), загрузил фотографию в альбом пользователя, получил URL-адрес из идентификатора, использовал этот URL в диалоге создания канала, но вскоре я столкнулся со страшным «изображение FBCDN не разрешено в потоке», wtf.
3) Итак, я попытался уменьшить изображение, предложил несколько случайных интернет-пользователей, но ошибка не исчезла.
4) Затем я попытался разместить эти изображения самостоятельно, как на веб-сервере клиента, как предложил другой интернет-серфер, но это тоже не работает:
var data:Object = {
message: "Hey!",
picture: "https://<domain>/facebookapp/bin/immagini/27.jpg",
link: "https://<domain>/facebookapp/bin/immagini/27.jpg",
name: "moo photos",
caption: "moo photos",
description: "You took a picture! yay!"
};
Facebook.ui('feed', data);
Диалог подачиотображается правильно, сообщение в фиде создано, но вы не видите картинку.Изображение, которое должно появиться непосредственно в ленте, присутствует только в качестве ссылки, по которой пользователь нажимает.
Изучение необработанных данных фида с помощью графика api показывает, что для атрибута «picture» не установлено значениеподача, как это происходит в 1):
"message": "ppipipi",
"link": "https://<domain>/facebookapp/bin/immagini/27.jpg",
"name": "https://<domain>/facebookapp/bin/immagini/27.jpg",
"caption": "lol my heart out",
"description": "die in pain!",
"icon": "https://www.facebook.com/images/icons/default_app_icon.gif",
"actions":
5) Поэтому я попытался поместить ссылку на изображение FBCDN, которая была у меня из предыдущих шагов, и это сработало!не были разрешены FBCDN ??Кажется, те, которые уже на сервере, принимаются?
6) Я изменил поток приложения и теперь, когда я обновляю фотографию в альбом пользователя, например:
var data:Object = { message:'TESTTESTTEST', fileName:'FILE_NAME', image:bitmapdata};
Facebook.api("/me/photos", uploadDone, data, "POST");
uploadDone
НИКОГДА не звонят, если загрузка действительно работает, или нет!
Что я делаю не так?