我正在使用普通PHP
。我没有使用PHP
,Lavarel
,Symphony
等任何Wordpress
框架。
我需要将视频上传到我自己的Youtube
帐户。
为了以防万一,我想澄清我想要的是NOT
创建一个Youtube
应用,代表该Youtube
用户将视频上传到用户的帐户,就像在正常情况下一样Facebook
个应用。
我找到了这个官方指南:
https://developers.google.com/youtube/v3/quickstart/php
按照建议,我在:
下创建了一个新项目https://console.developers.google.com/start/api?id=youtube
但我对此感到有点困惑。
我的问题是:
为什么我需要在Google API控制台下创建项目,如果我只想将文件上传到我自己的帐户?,对于Youtube user
和password
来说应该不够? 。如果我需要创建项目然后生成访问令牌,那么访问令牌的有效期是多久?
我尝试了下面的代码,这不完全是上传视频(我需要的),但至少它应该可以帮助我开始玩Youtube:
https://developers.google.com/youtube/v3/guides/auth/server-side-web-apps#example
我改编了一下:
<?php
// Call set_include_path() as needed to point to your client library.
require_once __DIR__ . '/includes/utils.inc.php';
$path_youtube_credentials = __DIR__.'/_debug/credentials/youtube.credentials.json';
$path_youtube_accesstoken = __DIR__.'/_debug/credentials/youtube.accesstoken.txt';
$client = new Google_Client();
$client->setAuthConfig($path_youtube_credentials);
$client->addScope(Google_Service_YouTube::YOUTUBE_READONLY);
$client->setAccessType('offline');
$client->setConfig('defaults', [
'verify' => __DIR__.'/includes/cacert.pem',
]);
if (file_exists($path_youtube_accesstoken)) {
$accessToken = trim(file_get_contents($path_youtube_accesstoken));
$client->setAccessToken($accessToken);
$youtube = new Google_Service_YouTube($client);
$channel = $youtube->channels->listChannels('snippet', array('mine' => true));
echoc(json_encode($channel));
}
else {
$client->setRedirectUri(get_protocol().'://'.$_SERVER['SERVER_NAME'].'/youtube.callback.php');
$authUrl = $client->createAuthUrl();
header('Location: '.$authUrl);
}
?>
但是我收到了错误:
Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in '.\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php'
如何了解如何将视频上传到Youtube
?