ITADN
Benjamin-Loison/YouTube-operational-API
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

YouTube 运营 API

YouTube Data API v3 失败时,YouTube 运营 API 可正常工作。

安装您自己的 API 实例:

  1. 如果您没有服务器,我推荐 Oracle 永久免费 VPS(参见 https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm)。请注意,在创建账户时,只有部分 home regions,包括 Marseille(法国),提供性能更强的 Ampere A1 形状。

  2. 如果尚未托管网站(如果您偏好 nginx,请点击此处),在终端中运行:

在 Linux(Debian、Mint 和 Ubuntu)上:

sudo apt install apache2 php git
sudo a2enmod rewrite headers

/etc/apache2/apache2.conf 中的 <Directory /var/www/> 里,将 AllowOverride None 替换为 AllowOverride All

然后运行:

sudo service apache2 restart

在 Windows 上:

下载并运行 WampServer 3.

在 MacOS 上:

按照 https://brew.sh#install 安装 brew

在 MacOS (Intel) 上,请使用 /usr/local/ 代替 /opt/homebrew/

brew install apache2 php

echo 'LoadModule php_module /opt/homebrew/opt/php/lib/httpd/modules/libphp.so
Include /opt/homebrew/etc/httpd/extra/httpd-php.conf' >> /opt/homebrew/etc/httpd/httpd.conf

echo '<IfModule php_module>
  <FilesMatch \.php$>
    SetHandler application/x-httpd-php
  </FilesMatch>

  <IfModule dir_module>
    DirectoryIndex index.php
  </IfModule>
</IfModule>' >> /opt/homebrew/etc/httpd/extra/httpd-php.conf

sed -i '' 's/#LoadModule rewrite_module/LoadModule rewrite_module/' /opt/homebrew/etc/httpd/httpd.conf

/opt/homebrew/etc/httpd/httpd.conf 中的 <Directory "/opt/homebrew/var/www"> 里,将 AllowOverride None 替换为 AllowOverride All

然后运行:

brew services start httpd
  1. 现在你正在托管一个网站,请将终端的当前工作目录切换到在线文件夹中。
  • 在 Linux 上,使用 cd /var/www/html/
  • 在 Windows 上,使用 cd C:\wamp64\www\
  • 在 MacOS 上,使用 cd /opt/homebrew/var/www/
  1. 使用以下命令克隆此仓库:
git clone https://github.com/Benjamin-Loison/YouTube-operational-API
  1. 安装 Protobuf 依赖:

在 Linux(Ubuntu、Debian 和 Mint)上:

sudo apt install composer protobuf-compiler

在 Windows 上:

下载 composer

下载 protoc

在 MacOS 上:

brew install composer protobuf

YouTube-operational-API/ 克隆文件夹中:

composer require google/protobuf

.proto 个原型生成 PHP 对象的代码:

在 Linux 和 MacOS 上:

protoc --php_out=proto/php/ --proto_path=proto/prototypes/ $(find proto/prototypes/ -type f)

在 Windows 上:

for /f "usebackq tokens=*" %a in (`dir /S /B "proto/prototypes"`) do protoc --php_out=proto/php/ --proto_path=proto/prototypes/ %a
  1. 通过尝试访问以下地址,验证您的 API 实例是否可访问:

如果您希望我推广您的实例(如果您已开放端口,并且拥有固定 IP 地址或域名),请使用以下联系方式。

使用 Docker 运行 API

  1. 安装 Docker 并确保其守护进程正在运行。

  2. 创建一个 .env 文件,并将其更新为您首选的端口:

cp .env.sample .env
  1. 使用 docker-compose 启动容器:
# start in the foreground
docker-compose up
# start in the background
docker-compose up -d
  1. 通过尝试访问以下地址,验证您的 API 实例是否可访问:

联系方式:

贡献:

参见 CONTRIBUTING.md