Подтвердить что ты не робот

Пометка друзей в статусных обновлениях из API Facebook

Недавно я встретил это сообщение в блоге, в котором говорилось, что можно пометить кого-то в обновлении статуса из приложения Facebook (= из API ):

Однако для меня это не работает.

Он пробовал это тремя способами:

$post = $facebook->api('/me/feed', 'post', array(
    'access_token' => $session['access_token'],
    'message' => 'Hello @[562372646:Lionel Cordier], how are you?'
));

или

$access_token = $session['access_token'];
$message = 'Hello @[562372646:Lionel Cordier], how are you?';
$curl_post = 'access_token='.$access_token.'&message='.$message;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/me/feed');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curl_post);
$data = curl_exec($ch);
curl_close($ch);

или

$access_token = $session['access_token'];
$message = 'Hello @[562372646:Lionel Cordier], how are you?';
$curl_post = 'access_token='.$access_token.'&status='.$message;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.facebook.com/method/users.setStatus');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curl_post);
$data = curl_exec($ch);
curl_close($ch);

Но ничего не работает. В результате у меня есть "Hello @[562372646: Lionel Cordier], как дела?" на моей стене.

Но если я наберу "Hello @[562372646: Lionel Cordier], как дела?" непосредственно в Facebook, он работает правильно.

Что я делаю неправильно?

4b9b3361

Ответ 1

Я боролся с этой проблемой на прошлой неделе и нашел следующий отчет об ошибке, который предлагает (учитывая текущий статус ASSIGNED), что он еще не может быть выполнен: (

http://developers.facebook.com/bugs/395975667115722/

Ответ 3

https://apps.facebook.com/profile_ranking загружает изображение, и вы можете пометить людей на фотографиях, не входящих в сообщения о статусе.

Отметить людей на картинке

curl -F 'access_token = xxxxxx' -F 'url = https://appharbor.com/assets/images/stackoverflow-logo.png' -F 'message = @[100000891609024: Silient Killerz]' https://graph.facebook.com/me/photos

В Graph Api Explorer
Сделайте сообщение для звонка, установите url на https://graph.facebook.com/me/photos,
Добавить поле с ключевым сообщением и значением @[100000891609024: Silient Killerz] (замените его идентификатором и именем вашего друга)
Добавьте еще одно поле с ключевым URL-адресом и значением https://appharbor.com/assets/images/stackoverflow-logo.png
нажмите отправить

Ответ 4

ниже код работал у меня, попробуйте, если вы не хотите показывать место в столбце, тогда используйте тот же код, о котором я упомянул $params ['place'] = '155021662189';, что этот код выиграл 't показать место в Post

             $params=array();       

             $params['message'] = "Hi Friends ";
             $params['tags']='12345678903,1234567654'; //comma separated friends ID's
             $params['place']='155021662189'; 

             $params['name'] = "Some namee";
             $params['link'] = "http://blaha.com";
             $params['description'] = "blah blah blah blah";
             $params['picture'] = "image link"; 
             $params['caption'] = "Join ";


            $shared=$facebook->api("/".$user['id']."/feed", "post", $params);
                         or 
                    $shared=$facebook->api("/me/feed", "post", $params);  

Ответ 5

Я пробовал час, но думаю, что нужно добавить новый отчет об ошибке. Это был рабочий год до того, как опубликовал Debjit.

Вы должны сделать отчет об ошибках в facebook. (Если не существует).

Обновлены следующие сообщения: