【发布时间】:2015-05-02 08:39:27
【问题描述】:
我正在尝试使用以下代码从 Google+ 中提取分享数:
function get_gplus_shares($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
$curl_results = curl_exec ($curl);
curl_close ($curl);
$json = json_decode($curl_results, true);
return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
}
它在我的本地测试环境中运行良好,但在我的实际环境中无法运行。我已经使用sudo apt-get install curl 和sudo apt-get install php5-curl 安装了php_curl,工作正常。还通过sudo wget http://curl.haxx.se/ca/cacert.pem -O /usr/lib/ssl/certs/cacert.pem 添加了cacert.pem。但似乎不起作用。我真的不知道从哪里开始。
错误消息 - 来自 apache 错误日志。
RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) - 但在添加 cacert.pem 后,此错误似乎已修复。
PHP Notice: Undefined index: result - PHP错误,函数结果为空。
[ssl:error] [pid 20743] AH02032: Hostname **IP-ADDRESS** provided via SNI and hostname **mydomain.com** provided via HTTP are different - 刚刚看到这个错误,不确定是否相关。
【问题讨论】:
-
请贴出所有错误信息
-
请参阅编辑@AxelAmthor。
-
仅供参考,这是一个私有的 Google API,可能随时更改或中断,恕不另行通知。
标签: php ssl curl google-plus