Vin*_*nch 24 php facebook facebook-graph-api
我最近发现这篇博文说,可以通过Facebook应用程序(来自API)标记状态更新中的某个人:
但是,它似乎对我不起作用.
它以三种不同的方式尝试了它:
$post = $facebook->api('/me/feed', 'post', array(
'access_token' => $session['access_token'],
'message' => 'Hello @[562372646:Lionel Cordier], how are you?'
));
Run Code Online (Sandbox Code Playgroud)
要么
$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);
Run Code Online (Sandbox Code Playgroud)
要么
$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);
Run Code Online (Sandbox Code Playgroud)
但没有任何作用.我得到的结果是" Hello @ [562372646:Lionel Cordier],你好吗? "在我的墙上.
但如果我输入" Hello @ [562372646:Lionel Cordier],你好吗? "直接在Facebook上,它可以正常工作.
我究竟做错了什么?
上周我一直在努力解决这个问题并发现以下错误报告,建议(鉴于当前的ASSIGNED状态)它还无法完成:(
http://developers.facebook.com/bugs/395975667115722/
小智 6
是的,可以采用以下格式:@ [{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和姓名)
添加另一个包含密钥网址和值https://appharbor.com/assets/images/stackoverflow-logo.png的字段
点击提交
小智 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);
Run Code Online (Sandbox Code Playgroud)