我希望我的网站能够在网站的粉丝页面上发布消息。
所以我使用了我发现的代码:
<?php
require_once("assets/facebook.php");
$facebook = new Facebook(array(
'appId' => '471898006354908', // Fake
'secret' => 'd2f7fb2dbc0ab7f42bc1c4337ab041b1', // Fake
'cookie' => true
));
$access_token = $facebook->getAccessToken();
echo $access_token;
$msg = "testmsg";
$title = "testt";
$uri = "http://somesite.com";
$desc = "testd";
$pic = "http://static.adzerk.net/Advertisers/d18eea9d28f3490b8dcbfa9e38f8336e.jpg";
$attachment = array(
'access_token' => $access_token,
'message' => $msg,
'name' => $title,
'link' => $uri,
'description' => $desc,
'picture'=>$pic,
'actions' => json_encode(array('name' => $action_name,'link' => $action_link))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/me/feed');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //to suppress the curl output
$result = curl_exec($ch);
curl_close ($ch);
?>
每次我执行页面时,它都会回复我:
471898006354908|d2f7fb2dbc0ab7f42bc1c4337ab041b1
但它不会在我的粉丝页面上发布任何内容?
请帮忙吗?
答案 0 :(得分:2)
如果这是您找到的所有代码,那么您缺少一个重要部分:登录过程。它在文档中详细解释:https://developers.facebook.com/docs/facebook-login/v2.4
目前您似乎只使用了应用访问令牌,但您需要获得publish_actions
权限授权的用户访问令牌。确保您了解所有不同的令牌,以下是一些关于这些令牌的链接:
如果您想公开使用自己的应用,请不要忘记阅读“登录评论”:https://developers.facebook.com/docs/facebook-login/review
使用你自己的CURL调用非常好btw,我不建议将PHP SDK用于小项目,因为这只是矫枉过正,PHP SDK也使用CURL。毕竟它只是一堆PHP类。请确保您不预先填写message参数,因为根据platform policy不允许这样做。
答案 1 :(得分:-2)
使用Facebook API / SDK。
这可能在ToS中不被允许并且被主动阻止。他们检测代理并使用其他方法阻止您使用cURL完成此操作。
或者你需要至少跳过几个认证箍,以防止滥用。查看过去的帖子,如果您认为自己的问题是骗局,请关闭此帖子。 Post to a Facebook user's wall with cURL PHP