Опубликовать изображение с локального компьютера на стене пользователя Facebook - PullRequest
0 голосов
/ 30 ноября 2011

Я пытаюсь опубликовать изображение через график api на стене пользователя. Я попытался опубликовать изображение, размещенное на моем сервере, и оно работало нормально. Но когда я пытаюсь опубликовать локальный файл, он выдает следующую ошибку. Uncaught OAuthException: (# 100) URL изображения не отформатирован должным образом.

Мой код показан ниже

require_once "facebook-sdk/src/facebook.php";

$app_id = "23432423432";
$app_secret = "345345353553535353534534";

// Init facebook api.
$facebook = new Facebook(array(
    'appId' => $app_id,
    'secret' => $app_secret,
    'cookie' => true
));
$urlTitle = 'my url';
$review = 'test desc';
//$picLocal = 'http://l.yimg.com/a/i/ww/met/yahoo_logo_in_061509.png';
$picLocal = '@' . realpath('/var/www/PixShare/a.jpg');
$attachment = array('message' => ' testing',
'description' => 'Review: ' . $review,
'access_token' => 'USER ACCESS TOKEN',
'picture' => $picLocal
);
if(!($sendMessage = $facebook->api('/me/feed/','post',$attachment))){
$errors= error_get_last();
echo "Facebook publish error: ".$errors['type'];
echo "<br />\n".$errors['message'];

Пожалуйста, дайте мне знать, если это возможно.

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Facebook API (или любое онлайн-приложение / сайт) не может получить ваши локальные файлы. Поэтому вы должны каким-то образом размещать свои файлы в Интернете.

Или, если у вас есть статический IP, вы можете открыть свой локальный хост в Интернет. И укажите назначение файла по вашему IP. Но это не очень хорошее решение, потому что вы должны быть постоянно подключены к Интернету, и Apache работает без ошибок. А также ваше интернет-соединение должно быть отличным ..

Итак, давайте где-нибудь хост:)

0 голосов
/ 16 мая 2012

это работает для меня:

$photo = realpath("mypic.png");

и затем используйте это

$picLocal = '@' . $photo;

, если картинка находится рядом с вашим .php файлом

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