youtube-operational-api

YouTube operational API works when YouTube Data API v3 fails.

https://github.com/benjamin-loison/youtube-operational-api

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

YouTube operational API works when YouTube Data API v3 fails.

Basic Info
  • Host: GitHub
  • Owner: Benjamin-Loison
  • Language: PHP
  • Default Branch: main
  • Size: 355 KB
Statistics
  • Stars: 463
  • Watchers: 17
  • Forks: 59
  • Open Issues: 180
  • Releases: 0
Created over 4 years ago · Last pushed 10 months ago
Metadata Files
Readme Contributing Citation

README.md

YouTube operational API

YouTube operational API works when YouTube Data API v3 fails.

Install your own instance of the API:

  1. If you do not own a server, then I recommend Oracle always free VPS (see https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetiertopic-AlwaysFree_Resources.htm). Note that at account creation only some home regions, including Marseille (France), propose more powerful Ampere A1 shapes.

  2. If not already hosting a website (click here if you prefer nginx), run in a terminal:

On Linux (Debian, Mint and Ubuntu):

sudo apt install apache2 php git sudo a2enmod rewrite headers

Replace AllowOverride None with AllowOverride All in <Directory /var/www/> in /etc/apache2/apache2.conf.

Then run:

sudo service apache2 restart

On Windows:

Download and run WampServer 3.

On MacOS:

Install brew by following https://brew.sh#install.

On MacOS (Intel) use /usr/local/ instead of /opt/homebrew/.

```zsh 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 ' SetHandler application/x-httpd-php

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

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

Replace AllowOverride None with AllowOverride All in <Directory "/opt/homebrew/var/www"> in /opt/homebrew/etc/httpd/httpd.conf.

Then run:

brew services start httpd

  1. Now that you are hosting a website, get the current working directory of your terminal into the folder that is online.
  • On Linux, use cd /var/www/html/
  • On Windows, use cd C:\wamp64\www\
  • On MacOS, use cd /opt/homebrew/var/www/
  1. Clone this repository by using:

sh git clone https://github.com/Benjamin-Loison/YouTube-operational-API

  1. Install Protobuf dependency:

On Linux (Ubuntu, Debian and Mint):

sh sudo apt install composer protobuf-compiler

On Windows:

Download composer.

Download protoc.

On MacOS:

sh brew install composer protobuf

In YouTube-operational-API/ clone folder:

sh composer require google/protobuf

Generate code of PHP objects from .proto prototypes:

On Linux and MacOS:

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

On Windows:

batch for /f "usebackq tokens=*" %a in (`dir /S /B "proto/prototypes"`) do protoc --php_out=proto/php/ --proto_path=proto/prototypes/ %a

  1. Verify that your API instance is reachable by trying to access:
  • On Linux and Windows: http://localhost/YouTube-operational-API/
  • On MacOS: http://localhost:8080/YouTube-operational-API/

If you want me to advertise your instance (if you have opened your port, and have a fixed IP address or a domain name), please use below contacts.

Run the API with Docker

  1. Install Docker and make sure that its daemon is running.

  2. Create a .env file and update it with your preferred port:

sh cp .env.sample .env

  1. Start the container with docker-compose:

```sh

start in the foreground

docker-compose up

start in the background

docker-compose up -d ```

  1. Verify that your API instance is reachable by trying to access:
  2. http://localhost:8080 (update preferred port if not 8080)

Contact:

Contributing:

See CONTRIBUTING.md.

Owner

  • Name: Benjamin Loison
  • Login: Benjamin-Loison
  • Kind: user
  • Location: Versailles (France)
  • Company: ENS Paris-Saclay

Born in 2000. In love with computer science, mathematics and physics.

Citation (CITATION.cff)

cff-version: 1.2.0
title: YouTube operational API
message: >-
  If you use this software, please cite it using the
  metadata from this file. Please let me know if you cite
  this software.
type: software
authors:
  - given-names: Benjamin
    family-names: Loison
repository-code: 'https://github.com/Benjamin-Loison/YouTube-operational-API'
abstract: >-
  YouTube operational API works when YouTube Data API v3
  fails.
keywords:
  - YouTube
  - YouTube Data API v3
  - YouTube operational API

GitHub Events

Total
  • Commit comment event: 3
  • Issues event: 22
  • Watch event: 80
  • Issue comment event: 152
  • Push event: 17
  • Pull request review event: 31
  • Pull request review comment event: 35
  • Pull request event: 1
  • Gollum event: 1
  • Fork event: 14
Last Year
  • Commit comment event: 3
  • Issues event: 22
  • Watch event: 80
  • Issue comment event: 152
  • Push event: 17
  • Pull request review event: 31
  • Pull request review comment event: 35
  • Pull request event: 1
  • Gollum event: 1
  • Fork event: 14

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 5
  • Total pull requests: 1
  • Average time to close issues: 3 days
  • Average time to close pull requests: N/A
  • Total issue authors: 3
  • Total pull request authors: 1
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 1
  • Average time to close issues: 3 days
  • Average time to close pull requests: N/A
  • Issue authors: 3
  • Pull request authors: 1
  • Average comments per issue: 0.25
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Benjamin-Loison (75)
  • quroom (3)
  • krasnoludkolo (2)
  • Draknek (1)
  • Eradeon (1)
  • catdogmat (1)
  • AAndyProgram (1)
  • Andromeda606 (1)
  • KimHyeonGyeom (1)
  • tekinc (1)
  • stariver1862 (1)
  • rino1 (1)
Pull Request Authors
  • Benjamin-Loison (4)
  • quroom (1)
  • Andromeda606 (1)
  • i300220 (1)
  • jasongrishkoff (1)
Top Labels
Issue Labels
quick (66) enhancement (53) low priority (44) medium priority (35) bug (25) medium (13) official instance (12) documentation (8) private instance (5) epic (4) high priority (4) discussion (3) private data (3) help wanted (2) incident (2) good first issue (1) wontfix (1) waiting details (1) to check (1)
Pull Request Labels
quick (7) bug (4) medium priority (4) enhancement (3) low priority (3) official instance (2)

Dependencies

Dockerfile docker
  • php apache build
docker-compose.yml docker
  • youtube-operational-api latest