我尝试在curl中使用YouTube V3接口(我尝试了php,没有结果)
这样我就可以把我的账号和api连接起来,然后收集accesToken了。
esay部分。现在我想用她,我去https://developers.google.com/youtube/v3/docs/channels/list医生那里
我想在我的频道上看到这个地址:
GET https://www.googleapis.com/youtube/v3/channels?part=statistics&mine=true&key={YOUR_API_KEY}
Authorization: Bearer ya29.AHES6ZRgKyWjPn_gwkMGDuI5N1Yzu4MmUPXTGybTRbox2zLatw
X-JavaScript-User-Agent: Google APIs Explorer因此,我使用以下代码:
$option = array(
'part' => 'statistics',
'mine' => 'true',
'key' => 'AIzaSyBmykey_xZhOR22u9txLyU6Yc'
);
$url = "https://www.googleapis.com/youtube/v3/channels"
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $option);
$curlheader[0] = "Authorization: Bearer " . $accessToken;
curl_setopt($curl, CURLOPT_HTTPHEADER, $curlheader);
$json_response = curl_exec($curl);
curl_close($curl);
$responseObj = json_decode($json_response);但我在erro上(没有结果)可能是参数上的错误,比如:
?part=statistics&mine=true&key={YOUR_API_KEY} with curl 如果有人能帮我的话。
发布于 2017-05-05 15:14:28
下面是可以工作的代码:
$option = array(
'part' => 'statistics',
'mine' => 'true',
'key' => 'AIzaSyBmykey_xZhOR22u9txLyU6Yc'
);
$url = "https://www.googleapis.com/youtube/v3/channels?".http_build_query($option, 'a', '&');
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_REFERER, "http://www.exemple.com");
$json_response = curl_exec($curl);
curl_close($curl);
$responseObj = json_decode($json_response);魔术是删除auth和header,并使用referer (如果您的应用程序设置了限制)。
发布于 2013-05-06 06:03:46
首先,下面这一行有一个语法错误:
$url = "https://www.googleapis.com/youtube/v3/channels"它应该是:
$url = "https://www.googleapis.com/youtube/v3/channels";现在,如果修复不起作用,您将告诉CURL同时执行GET和POST。可能更好的方法是这样:
$option = array(
'part' => 'statistics',
'mine' => 'true',
'key' => 'AIzaSyBmykey_xZhOR22u9txLyU6Yc'
);
$url = "https://www.googleapis.com/youtube/v3/channels?".http_build_query($option, 'a', '&');
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$curlheader[0] = "Authorization: Bearer " . $accessToken;
curl_setopt($curl, CURLOPT_HTTPHEADER, $curlheader);
$json_response = curl_exec($curl);
curl_close($curl);
$responseObj = json_decode($json_response);发布于 2014-06-01 18:39:44
我有同样的问题,它不会工作,直到我上传到我的服务器(而不是我的本地),然后它开始工作。从localhost访问时,API密钥不起作用。
https://stackoverflow.com/questions/16387116
复制相似问题