Graph Api PHP Photo Upload с конечной точки приложения / проблема с ответом - PullRequest
3 голосов
/ 04 сентября 2011

Используя API Graph Facebook, я загружаю фотографию из своего приложения iFrame через форму:

echo '<form enctype="multipart/form-data" action="'
.$graph_url .' "method="POST">';
echo 'Please choose a photo: ';
echo '<input name="source" type="file"><br/><br/>';
echo 'Say something about this photo: ';
echo '<input name="message" 
  type="text" value=""><br/><br/>';
echo '<input type="submit" value="Upload"/><br/>';
echo '</form>';

$ graph_url определяется до этой формы следующим образом:

$graph_url= "https://graph.facebook.com/me/photos?"
    . "access_token=" .$access_token;

Это работает, и я могу загружать фотографии с моим приложением в профиль пользователя, однако, как только фотография загружена, содержимое моего iFrame заменяется «ответом» из графика:

пример:

  {
   "id": "1001207389476"
  }

Я хочу, чтобы это не отображалось, а вместо этого показываю экран успеха, возможно, показывающий ссылку и на недавно загруженное изображение.

Кто-нибудь знает, как я могу это сделать? Последние три дня я вырывал свои волосы, просто пытаясь это сделать!

Для справки вот уроки, откуда я взял свой код: https://developers.facebook.com/blog/post/498/ и http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-development-php-sdk-3-0/

Приветствие.

Ответы [ 3 ]

0 голосов
/ 04 сентября 2011

Вы пытались определить URI перенаправления в вашем $ graph_url?Не знаю точное имя параметра, которого ожидает Facebook, но я думаю, что это redirect_uri.

Edit_: Чтобы сделать его более понятным, Facebook будет искать этот параметр в URL-адресе графика и перенаправлять на этот URI, еслиЗапрос завершен.Таким образом, вы можете определить http://yourdomain.com/yourapp/upload_finished.php. Я не уверен на 100%, передадут ли они также идентификатор загруженной фотографии на этот URI, но так и должно быть.

0 голосов
/ 04 сентября 2011

Добавление атрибута onsubmit в тег формы: И вы можете делать все с помощью JavaScript, например, показывать сообщение или экран успеха.

0 голосов
/ 04 сентября 2011

Единственное решение, которое я могу себе представить, это то, что вы можете использовать блок try catch, чтобы поймать код загрузки фотографий.Если не происходит никаких исключений, и вы получите загруженный идентификатор изображения.Вы можете напечатать «загрузка фото успешна» вместо показа идентификатора картинки.

Чтобы получить ссылку на рис.Вы должны использовать свой идентификатор изображения.Вы можете попробовать graph.facebook.com/your-pic-id (возможно, с некоторым access_token) и внутри него, вы можете получить ссылку на эту картинку.

см. График API для фотографий: https://developers.facebook.com/docs/reference/api/photo/

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...