Я полностью потерян в этом API Facebook для Android, ПОТОМУ ЧТО ДОКУМЕНТАЦИЯ УЖАСНАЯ! Даже когда я копирую свои примеры персонажу, (с учетом моего приложения), он все равно не работает!
Я прикреплен к моей кнопке share:
Session session = Session.getActiveSession();
if (session.isOpened()) {
OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
action.setProperty("meal", "https://example.com/cooking-app/meal/Lamb-Vindaloo.html");
action.setType("feed");
Bitmap bitmap;
if (hasIcon) {
bitmap = ((BitmapDrawable)recipeIcon.getDrawable()).getBitmap();
} else {
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon_special_rosemary);
}
List<Bitmap> images = new ArrayList<Bitmap>();
if (bitmap != null) {
Log.d("image!", bitmap.getByteCount() + "");
images.add(bitmap);
FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(this, action, "meal")
.setImageAttachmentsForAction(images, true)
.build();
uiHelper.trackPendingDialogCall(shareDialog.present());
} else {
Log.d("no image", "");
FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(this, action, "meal")
.build();
uiHelper.trackPendingDialogCall(shareDialog.present());
}
Это проходит через все отлично, даже журнал сообщает мне, что битмап есть, не является нулевым и содержит байтовый счетчик ~ 160 кб, но когда я прикрепляю его к диалоговому файлу, он приходит с этим...
01-21 00:39:30.214: E/Activity(2214): Error: com.facebook.FacebookException: Error retrieving image attachment.
Какие?! Правильно ли он подключен? Ну, это не должно быть, но это пример, скопированный прямо из их документации, и это не сработает! Я хочу только загрузить текущее изображение. Плохое шоу
См. Справочные документы для метода, который вы вызываете. Https://developers.facebook.com/docs/reference/android/current/class/FacebookDialog.OpenGraphActionDialogBuilder/#setImageAttachmentFilesForAction
"Чтобы изображения были предоставлены в приложение Facebook как часть вызова приложения, NativeAppCallContentProvider должен быть правильно указан в приложении AndroidManifest.xml".
В NativeappCallContentProvider - https://developers.facebook.com/docs/reference/android/current/class/NativeAppCallContentProvider/ - вы увидите, что вам нужно добавить com.facebook.app.NativeAppCallContentProvider {FACEBOOK_APP_ID} в ваш манифест.