在来自 Facebook API 的状态更新中标记朋友

2021-12-20 00:00:00 php facebook facebook-graph-api

我最近遇到了 这篇博文 说可以在来自 Facebook 应用(=来自 API)的状态更新中标记某人:

但是,它似乎对我不起作用.

它尝试了三种不同的方式:

$post = $facebook->api('/me/feed', 'post', array('access_token' =>$session['access_token'],'消息' =>你好@[562372646:Lionel Cordier],你好吗?"));

$access_token = $session['access_token'];$message = '你好@[562372646:Lionel Cordier],你好吗?';$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 = '你好@[562372646:Lionel Cordier],你好吗?';$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],你好吗?"在我的墙上.

但如果我直接在 Facebook 中输入Hello @[562372646:Lionel Cordier],你好吗?",它就可以正常工作.

我做错了什么?

解决方案

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

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

I recently came across this blog post that said that it's possible to tag someone in a status update from a Facebook app (= from the API):

However, it doesn't seem to work for me.

It tried it in three different ways:

$post = $facebook->api('/me/feed', 'post', array(
    'access_token' => $session['access_token'],
    'message' => 'Hello @[562372646:Lionel Cordier], how are you?'
));

or

$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);

or

$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);

But nothing works. The result I have is "Hello @[562372646:Lionel Cordier], how are you?" on my wall.

But if I type "Hello @[562372646:Lionel Cordier], how are you?" directly in Facebook, it works correctly.

What am I doing wrong?

解决方案

I was struggling with this problem last week and found the following bug report, which suggests (given the current ASSIGNED status) that it cannot be done yet:(

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

相关文章