我最近遇到this blog post,表示可以通过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上,它可以正常工作。
我做错了什么?
答案 0 :(得分:7)
上周我一直在努力解决这个问题并发现以下错误报告,建议(鉴于当前的ASSIGNED状态)它还无法完成:(
答案 1 :(得分:6)
是的,可以采用以下格式:@ [{user_id}:1:{name}]
试用本教程:http://digitizor.com/2011/01/24/tag-user-facebook-graph/
答案 2 :(得分:6)
https://apps.facebook.com/profile_ranking正在上传图片,您可以在图片中标记不在状态消息中的人。
标记图片中的人
curl -F'access_token = xxxxxx'-F'url = https://appharbor.com/assets/images/stackoverflow-logo.png' -F'消息= @ [100000891609024:Silient Killerz]' https://graph.facebook.com/me/photos
在 Graph Api Explorer 中
拨打电话,将网址设置为https://graph.facebook.com/me/photos,
添加包含关键信息和值@ [100000891609024:Silient Killerz]的字段(将其替换为您的朋友ID和姓名)
添加另一个包含密钥网址和值https://appharbor.com/assets/images/stackoverflow-logo.png的字段
点击提交
答案 3 :(得分:5)
下面的代码对我有用,试试如果你不想在帖子中显示位置然后使用我提到的相同代码 $ 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);
答案 4 :(得分:2)
我已经尝试了一小时,但我认为需要添加新的错误报告。由Debjit发布的前一年工作。
已更新以下帖子: