首页 文章

如何解决curl错误60:youtube数据api V3中的ssl证书问题?

提问于
浏览
1

我正在学习使用youtube data api v3(使用PHP) . 所以我下载了示例api代码以及我如何成功地在我的工作目录(版本1.4.x)中下载和安装composer .

在这个我运行serach.php脚本它显示以下错误

致命错误:未捕获异常'GuzzleHttp \ Exception \ RequestException',消息'cURL错误60:SSL证书问题:无法获取本地颁发者证书(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors . html)'在C:\ wamp \ www \ youtube feeds \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php第187行(!)GuzzleHttp \ Exception \ RequestException:cURL错误60:SSL证书问题:无法获取本地颁发者证书(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html)在C:\ wamp \ www \ youtube feeds \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php on第187行 .

我正在使用php 5.5.12和apache 2.4.9的wamp . 我还从托盘和php.ini文件启用了卷曲扩展 .

2 回答

  • 0

    问题是由于缺少“cacert.pem”文件(或由运行php的主机操作系统提供) . 此文件验证证书颁发机构,以便curl可以安全地连接到youtube(并且知道它是youtube,而不是中间攻击中的人的受害者) .

    你可以手动下载这些文件,并在你的php ini中指定它们,但更好的选择是使用“确定性”php包来管理它们 . 我建议使用作曲家,它很容易开始使用 .

  • 1

    如果刚刚开始,不要试图跳入深渊 .
    从"restfull" api方面开始 .

    例如,您可以这样做 .

    $url_link = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id=[VIDEO_ID]&key=[API_KEY]';
    
    $video = file_get_contents($url_link);
    $data= json_decode($video, true);
    

    然后,您可以根据需要获取该呼叫中所需的信息 . 像这样

    $vid = $data['id'];
    

    LIB适用于简化大型程序和代码,但并不总是需要 .

相关问题