- quota.js: per-platform limits (YouTube 10,000 units/day Pacific per project, Instagram 100 / Threads 250 / TikTok 15 posts per 24 h per account, ...), usage log, .env overrides (QUOTA_<PLATFORM>) - Publishing checks the budget first and records usage; when a platform is out of quota (or answers quota exceeded / 429) the post stays approved and the queue retries after the reset, without re-posting finished platforms - Drafts that exceed a day's limit get a warning - Connections page shows used/limit and when it frees up - Tests for windows (incl. DST), shared vs per-account limits and the wait-and-retry queue flow; docs for quotas and the Google app setup Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Google app: Quorla (YouTube + Google Business Profile)
- Google Cloud project Quorla (ID
quorla) in the metatroncubesolutions.com organization, created with dev@metatroncubesolutions.com. - APIs enabled: YouTube Data API v3, My Business Account Management API, My Business Business Information API, Google My Business API. No billing account needed; all are free within quota.
- OAuth consent screen (Google Auth Platform): app name Quorla, logo
branding/quorla-icon-1024.png, support and developer contact dev@metatroncubesolutions.com, home https://app.quorlasocial.com, privacy /privacy, terms /terms, authorized domain quorlasocial.com. Audience External, publishing status Testing. - Scopes: openid, userinfo.email, business.manage (non-sensitive); youtube.upload, youtube.readonly (sensitive). No restricted scopes, so no paid security assessment is needed.
- Test users (only these can connect while in Testing; max 100): dev@metatroncubesolutions.com, metatroncubesoftwaresolutions@gmail.com. Add each client's Google account here until the app is verified.
- OAuth web client "Quorla web (app.quorlasocial.com)" with redirect URIs
https://app.quorlasocial.com/oauth/youtube/callback and https://app.quorlasocial.com/oauth/gbp/callback.
Its ID and secret are in the PC's
.envas YOUTUBE_CLIENT_ID/SECRET and GBP_CLIENT_ID/SECRET; copy those four lines to the server's.env, or enter them in Quorla → Connections → Set up. Google shows the secret only once; if it is lost, add a new secret on the client in Google Cloud.
Still to do
- Business Profile API access: request it (Google form) for project number of
quorla; until approved the Business Profile APIs have a quota of 0. - Verify quorlasocial.com in Google Search Console (DNS TXT record) — required before Google verifies the app.
- After deploy: publish the app (Audience → Publish app) and submit verification (sensitive YouTube scopes): Google asks for a demo video of the sign-in and how each scope is used.
- YouTube API audit (free form) to lift the 10,000 units/day quota and the private-only upload limit.