YouTube Data API v3 helpers with an optional live chat/outbound surface for Polyhydra Games hosts.
- api
- dotnet
- api-youtube
- youtube
- docs
- testing
Src/: Core library implementation.Test/: NUnit tests for the library.docs/: Detailed documentation and design decisions.
Project:PolyhydraGames.APi.YoutubeTargetFrameworks:net8.0;net10.0Language: C#Test project:test/Test.csproj
- .NET 10.0 SDK
The project uses NUnit for testing. To run tests:
dotnet test APi.Youtube.slnAdditional documentation can be found in the docs directory.
- Keep read-only API helpers separate from the live chat surface.
- The live chat path is intended to stay optional and explicit about its OAuth requirements.
services.AddYouTubeApi(configuration); // data plane
services.AddYouTubeLiveStreaming(configuration); // inbound + outbound + pollerUse ./pub.sh to restore, test, pack, and publish.
- GitHub Packages is the default publish target.
- Set
PUBLISH_NUGET_ORG=trueonly when the package should also go to nuget.org. - Set
DRY_RUN=trueto skip pushes. - Use
PACKAGE_API_KEY,GHCR_TOKEN,GITHUB_PACKAGES_TOKEN,GITHUB_TOKEN, orGH_TOKENfor GitHub Packages auth.
For private/internal consumption from GitHub Packages, add the GitHub NuGet source for this organization and authenticate with a GitHub token or PAT:
dotnet nuget add source https://nuget.pkg.github.com/lancer1977/index.json \
--name lancer1977 \
--username YOUR_GITHUB_USERNAME \
--password YOUR_GITHUB_TOKEN \
--store-password-in-clear-text