无法通过cURL发布到Facebook墙

时间:2012-09-20 16:02:16

标签: php facebook facebook-graph-api

我正在尝试通过cURL发布消息,但我一直收到错误:

{"error":{"message":"(#1500) The url you supplied is invalid","type":"OAuthException","code":1500}}

这是我的代码:

$this->msgData['message'] .= 'Test Message';
$this->msgData['link'] = 'test Link';
$this->msgData['name'] = 'Ny test Name';
$this->msgData['access_token'] = 'myaccesstoken';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/'.$this->page_id.'/feed');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);

// execute and close
$return = curl_exec($ch);
curl_close($ch);

我知道离线访问令牌已被弃用,但您仍可以通过在应用设置中禁用“删除offline_access权限”来使用它。

我在网上进行了研究但是我找不到太多信息导致这种情况失败的原因。当它说提供的URL无效时,它意味着什么?是CURL URL的“链接”吗?

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我不能将此作为评论添加,因为我没有足够高的声誉,所以道歉将其作为答案发布;但是,您正在运行设置的PHP版本来处理SSL吗?由于Open Graph需要https,您可能需要告诉cURL如何处理它。查看此问题的接受答案: Post to a Facebook user's wall with cURL PHP

您可能想要尝试添加的行是:

`curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);`