有人可以给我一个例子,从一个经过身份验证的用户的外部应用程序发布facebook帖子吗?
假设我有一个从Facebook推送帖子的提要,我想创建一个按钮,让用户喜欢我应用中的帖子。点击此按钮,我怎样才能最好地创建它,以便在用户的Facebook上更新帖子?
我的想法是我可以创建一个javascript onclick函数,它可以执行类似于 - $ facebook-> api(“/ $ id / likes”,“POST”)的PHP脚本。 ,但在我打电话之前,是否需要从该页面重新初始化Facebook?或发送我的访问令牌等?对于这种服务器端方法,这让我感到困惑。你如何点击这个电话?一个例子真的很有帮助!在此先感谢!!
答案 0 :(得分:0)
好的,所以终于找到了一个不错的解决方案,而且没有卷曲。这是我在ajax函数onclick中调用的脚本:
<?php
$access_token = $_GET['token'];
$post_id = $_GET['id'];
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
echo "error";
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data");
}
return $response;
}
$data = "access_token=".$access_token;
$url = 'https://graph.facebook.com/'.$post_id.'/likes';
$result = do_post_request($url, $data, $optional_headers = null);
?>
同样在我测试的工作代码中,$ post_id具有用户ID,其帖子首先是这样的:SOURCEUSERID_POSTID
从这篇文章的组合中获得此解决方案 - http://wezfurlong.org/blog/2006/nov/http-post-from-php-without-curl/
和这一个 - Like posts over Facebook graph api
希望这可以帮助其他人!