Docs
YouTube

Overview

Connect YouTube channels, scopes, capabilities, and known limits.

Onepostly maps the YouTube Data API v3 (plus Analytics) into the same /v1/* surface as other platforms. This section covers YouTube-only behavior.

Publishing is video-only — there is no text or image post type on YouTube.

In this section

PageTopics
PostsUpload videos / Shorts; visibility; schedule; remote delete
CommentsList and create comments
EngagementLike / unlike
InsightsViews, likes, comments, shares

Cross-platform API flow: Media, Webhooks.

Connect

  1. Dashboard → Connections → connect YouTube
  2. Approve Google OAuth scopes and pick the Google account that owns the channel
  3. Resolve connectionId with your API key:
curl https://api.onepostly.com/v1/connections \
  -H "x-api-key: op_YOUR_KEY"

Use the matching row’s id (where platform is "youtube") as connectionId.

The Google account must already have a YouTube channel.

OAuth scopes

ScopeUsed for
https://www.googleapis.com/auth/youtube.uploadUpload videos
https://www.googleapis.com/auth/youtube.force-sslComments + like/unlike
https://www.googleapis.com/auth/yt-analytics.readonlyAnalytics

Auth errors

CodeMeaning
TOKEN_INVALID / 401Expired token → reconnect
PERMISSION_DENIED / 403Missing scope, quota, or unverified app restrictions

Capabilities

ActionSupportedNotes
Create postYesVideo only
Text / image / multi-image / storiesNoUNSUPPORTED_MEDIA_KIND
ShortsYesVertical ≤60s video; optional #Shorts in title
VisibilityYesdestinations[].privacyStatus: public / unlisted / private
ScheduleYesscheduledFor + timezone
Remote deleteYesDELETE …/destinations/:id
InsightsYes
List / create / delete commentsYes
Like / unlikeYes
Bookmark / retweetNo

Known limitations

  • Default Google Cloud quota: 10,000 units/day; each upload costs 1,600 (~6 uploads/day before other calls)
  • Unverified OAuth clients may upload videos as private (locked) until Google verification
  • Onepostly publish path caps video size at 256 MB

See also