Ответ 1
Я боролся с этой проблемой на прошлой неделе и нашел следующий отчет об ошибке, который предлагает (учитывая текущий статус ASSIGNED), что он еще не может быть выполнен: (
Недавно я встретил это сообщение в блоге, в котором говорилось, что можно пометить кого-то в обновлении статуса из приложения 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] (замените его идентификатором и именем вашего друга)
Добавьте еще одно поле с ключевым URL-адресом и значением https://appharbor.com/assets/images/stackoverflow-logo.png
нажмите отправить
ниже код работал у меня, попробуйте, если вы не хотите показывать место в столбце, тогда используйте тот же код, о котором я упомянул $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);
Я пробовал час, но думаю, что нужно добавить новый отчет об ошибке. Это был рабочий год до того, как опубликовал Debjit.
Обновлены следующие сообщения: