【问题标题】:Post message on Facebook with curl使用 curl 在 Facebook 上发布消息
【发布时间】:2015-11-15 21:14:29
【问题描述】:

我希望我的网站能够在网站的粉丝页面上发布消息。

所以我使用我找到的这段代码:

<?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

但它没有在我的粉丝页面上发布任何内容?

有什么帮助吗?

【问题讨论】:

    标签: php facebook api curl


    【解决方案1】:

    如果这就是您找到的所有代码,那么您缺少一个重要部分:登录过程。文档中有详细解释:https://developers.facebook.com/docs/facebook-login/v2.4

    现在您似乎只使用了应用访问令牌,但您需要使用publish_actions 权限授权的用户访问令牌。确保您了解所有不同的 Token,这里有一些关于这些的链接:

    如果您想通过您的应用程序公开,请不要忘记阅读登录评论:https://developers.facebook.com/docs/facebook-login/review

    顺便说一句,使用您自己的 CURL 调用非常好,我不建议将 PHP SDK 用于小型项目,因为这太过分了,而且 PHP SDK 也使用 CURL。毕竟它只是一堆 PHP 类。只要确保您没有预先填写消息参数,因为根据platform policy,这是不允许的。

    【讨论】:

      【解决方案2】:

      使用 Facebook API / SDK。

      这在 ToS 中可能是不允许的,并且会主动阻止。他们检测代理并使用其他方式阻止您使用 cURL 完成此操作。

      或者您至少需要跳过几个身份验证环节,以防止滥用。检查过去的帖子,如果您认为您的问题是骗人的,请关闭此帖子。 Post to a Facebook user's wall with cURL PHP

      【讨论】:

      • 好的,我试试。有教程吗?
      • 我相信网上有很多教程。请务必检查 FB 实际文档,以确保您使用的是最新/当前代码。从这里开始:github.com/facebook/facebook-php-sdk-v4 然后谷歌搜索示例......祝你好运
      • 如果您自己使用 curl 或 facebook sdk(也使用 curl),这完全无关紧要。唯一重要的是不要预填充消息参数。
      • 我的立场是正确的。老实说,没有读过这个问题,并假设试图在 FB 页面上模拟操作,甚至不使用图形服务。如果 FB 在未来发生变化,我个人仍然会使用 SDK 使代码更易于维护。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 2011-01-04
      • 1970-01-01
      相关资源
      最近更新 更多