从Facebook API标记状态更新中的朋友

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上,它可以正常工作.

我究竟做错了什么?

Rob*_*daz 7

上周我一直在努力解决这个问题并发现以下错误报告,建议(鉴于当前的ASSIGNED状态)它还无法完成:(

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


小智 6

是的,可以采用以下格式:@ [{user_id}:1:{name}]

试试这个教程:http://digitizor.com/2011/01/24/tag-user-facebook-graph/

  • 不,似乎没有用.它停止工作了吗? (7认同)

mta*_*riq 6

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的字段
点击提交

  • 对于https://graph.facebook.com/me/feed,他们正在从消息中删除标签,对于https://graph.facebook.com/me/photos,他们仍然允许标签:) (2认同)

小智 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)