0

我正在尝试通过 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);

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

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

有什么建议吗?

4

1 回答 1

0

我无法将此添加为评论,因为我没有足够高的声誉,因此很抱歉将其发布为答案;但是,您正在运行的 PHP 版本是否设置为处理 SSL?由于 Open Graph 需要 https,您可能需要告诉 cURL 如何处理它。查看此问题的公认答案: 使用 cURL PHP 发布到 Facebook 用户的墙上

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

`curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);`
于 2012-09-20T16:19:26.020 回答