2013-12-13 1 views
2

Мне нужно создать сообщение в facebook с изображением из моего приложения.
Изображение хранится в приложении.facebook post с изображением (object_attachment). Изображение пуста. Зачем?

Что я делаю:

  1. Загрузить изображение к фотографиям пользователя с Request.newUploadPhotoRequest и получить идентификатор фотографии от Facebook. Например, я получаю "637590962949508".

  2. Создать пост и отправить на Facebook с:
    Request(session, "me/feed", postParams, HttpMethod.POST, callback).
    В postParams я также поставил postParams.putString("object_attachment", photoId) где photoId = "637590962949508"

Response является:

{ 
    Response: responseCode: 200, 
    graphObject: GraphObject{ 
    graphObjectClass=GraphObject, 
    state={ 
     "id":"100000958302790_637591166282821" 
    } 
    }, 
    error: null, 
    isFromCache:false 
} 

Как я могу видеть, Facebook говорит мне, что все в порядке. В результате: я могу видеть сообщение в своем фиде, но изображение пуст (пустой квадрат). Но изображение существует на фотографиях.

Где ошибка?

ответ

1

У меня была такая же проблема с facebook. В вашем случае facebook не может показывать эскиз вашего изображения, но когда вы нажимаете на сообщение, вы можете видеть свою фотографию в полноэкранном режиме. Чтобы исправить свой пост, вы должны получить информацию о загруженном фото по телефону графа апи «/ {PHOTOID}» (https://developers.facebook.com/docs/graph-api/reference/photo), и вы получите JSON, подобный:

{ 
"created_time" = ""; 
from =  { 
    id = 100002300000000; 
    name = "User User"; 
}; 
height = 500; 
id = 62902XXXXX; 
images =  (
      { 
     height = 500; 
     source = "https://scontent-b.xx.fbcdn.net/hphotos-frc3/t1.0-9/XXXX.jpg"; 
     width = 500; 
    }, 
      { 
     height = 480; 
     source = "https://scontent-b.xx.fbcdn.net/hphotos-frc3/t1.0-9/p480x480/XXXX.jpg"; 
     width = 480; 
    }, 
      { 
     height = 320; 
     source = "https://scontent-b.xx.fbcdn.net/hphotos-frc3/t1.0-9/p320x320/XXXX.jpg"; 
     width = 320; 
    }, 
      { 
     height = 130; 
     source = "https://fbcdn-photos-h-a.akamaihd.net/hphotos-ak-frc3/t1.0-0/XXXX.jpg"; 
     width = 130; 
    }, 
      { 
     height = 225; 
     source = "https://scontent-b.xx.fbcdn.net/hphotos-frc3/t1.0-9/p75x225/XXXX.jpg"; 
     width = 225; 
    } 
); 
link = "https://www.facebook.com/photo.php?fbid=629020720517945&set=a.628961963857154.1073741825.100002300681060&type=1"; 
picture = "https://fbcdn-photos-h-a.akamaihd.net/hphotos-ak-frc3/t1.0-0/1029_XXX.jpg"; 
source = "https://scontent-b.xx.fbcdn.net/hphotos-frc3/t1.0-9/1029_XXX.jpg"; 
width = 500; 
} 

Из ответа следует принять " изображения ", а затем одна из ссылок« источник »эскизов. Эта ссылка вы можете добавить к сообщению body с ключом «картинка» в API «/ me/feed» (https://developers.facebook.com/docs/graph-api/reference/user/feed/).

Внимание:: вам необходимо позвонить "user_photos" для получения информации о фото.

Смежные вопросы