Недавно я наткнулся на это сообщение в блоге, в котором говорилось, что можно пометить кого-то в обновлении статуса из приложения 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, он работает правильно.
Что я делаю не так?
Я боролся с этой проблемой на прошлой неделе и нашел следующий отчет об ошибке, который предлагает (учитывая текущий статус ASSIGNED), что он еще не может быть выполнен 🙁
Да, это возможно в этом формате: @ [{user_id}: 1: {name}]
Попробуйте этот учебник: http://digitizor.com/2011/01/24/tag-user-facebook-graph/
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] (замените его своим id и именем вашего друга)
Добавьте еще одно поле с ключевым URL-адресом и значением http://img.ruphp.com/php/stackoverflow-logo.png
нажмите кнопку Отправить
ниже код работал для меня, попробуйте, если вы не хотите показывать место в сообщении, тогда используйте тот же код, который я упомянул $ params ['place'] = '155021662189'; этот код не покажет место в 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);
Я пробовал час, но думаю, что нужно добавить новый отчет об ошибке. Это был рабочий год до того, как опубликовал Debjit.
Обновлен на следующих должностях: