Push API \ Upload a video to YouTube

Resource/URI POST
Facebook · Publish a post on a user's profile /push/identities/<identity_token>/facebook/post.json Publish User Post
Facebook · Upload a picture on behalf of a user /push/identities/<identity_token>/facebook/picture.json Upload User Picture
Facebook · Upload a video on behalf of a user /push/identities/<identity_token>/facebook/video.json Upload User Video
Facebook · Publish a post to a group the user is member of /push/identities/<identity_token>/facebook/group/post.json Publish Group Post
Facebook · Upload a picture to a group the user is member of /push/identities/<identity_token>/facebook/group/picture.json Upload Group Picture
Facebook · Upload a video to a group the user is member of /push/identities/<identity_token>/facebook/group/video.json Upload Group Video
Facebook · Publish a post on a page the user administers /push/identities/<identity_token>/facebook/page/post.json Publish Page Post
Facebook · Upload a picture on behalf of a page that the user administers /push/identities/<identity_token>/facebook/page/picture.json Upload Page Picture
Facebook · Upload a video on behalf of a page that the user administers /push/identities/<identity_token>/facebook/page/video.json Upload Page Video
LinkedIn · Publish a post on a user's profile /push/identities/<identity_token>/linkedin/post.json Publish User Post
LinkedIn · Publish a post on a company page the user administers /push/identities/<identity_token>/linkedin/company/post.json Publish Company Post
Pinterest · Publish a pin on behalf of a user /push/identities/<identity_token>/pinterest/pin.json Publish Pin
Twitter · Publish a tweet on a user's timeline /push/identities/<identity_token>/twitter/post.json Publish Tweet
Twitter · Upload a picture on behalf of a user /push/identities/<identity_token>/twitter/picture.json Upload Picture
Twitter · Upload a video on behalf of a user /push/identities/<identity_token>/twitter/video.json Upload Video
YouTube · Publish a video on behalf of a user /push/identities/<identity_token>/youtube/video.json Upload Video
YouTube · Add a video to a playlist /push/identities/<identity_token>/youtube/playlist/<playlist_id>/video.json Add Video to Playlist
YouTube · Create a playlist on behalf of a user /push/identities/<identity_token>/youtube/playlist.json Create Playlist
YouTube · Add a section to a user's channel /push/identities/<identity_token>/youtube/channel/section.json Add Channel Section

Workflow

Request: the code to send to the API

Send an API request to this endpoint in order to upload a video on behalf of a YouTuber user:

POST /push/identities/<identity_token>/youtube/video.json

The <identity_token> is obtained whenever one of your users connects using his YouTube account.

Successfully uploaded videos are identified by a video_id that can be used to add the video to a playlist.

Please note that video uploads are processed asynchronously. After having received your request, our API will first download the video from the specified URL and then upload it to YouTube. Once the upload is finished, the result will be posted to the specified callback_url.

To be able to use this endpoint, YouTube must be fully configured for your OneAll Site. The permission Upload Videos has to be enabled and the user must have given consent to publish content on his behalf when he logged in with YouTube.

POST data to include in the request

    {
      "request": {
        "push": {
          "video": {
            "video_url": "#video_url#",
            "title": "#title#",
            "description": "#description#",            
            "thumbnail_url": "#thumbnail_url#",
            "callback_url": "#callback_url#"
          }
        }
      }
    }
Key Description
*#video_url# The fully qualified URL of the video to upload. The video must have one of the following formats: 3gpp, avi, flv, mov, mpeg4, mpegps, webm, wmv.
Example: https://your-website.com/birthday-party.avi
*#title# The title of the video to share.
Example: Birthday Party
#description# The description of the video being shared.
Example: Some highlights of my birthday party
#thumbnail_url# A fully qualified URL to a picture to use as thumbnail of the video.
This feature is might be disabled depending on your YouTube account.
Example: https://your-website.com/birthday-party.png
#callback_url# The fully qualified URL to the script to notify once the video has will be uploaded.
A POST request including the video details will be send to that url.
Example: https://your-website.com/upload-video-callback.php

Result: the code returned by the API

Resultset Example

{
  "response": {
    "request": {
      "date": "Fri, 25 Jan 2018 12:00:53  0200",
      "resource": "/push/identities/12345678-ABCD-WXYZ-1234-ABCABCABCABC/youtube/video.json",
      "status": {
        "flag": "success",
        "code": 200,
        "info": "Your request has been processed successfully"
      }
    },
    "result": {
      "data": {
          "provider": "youtube",
          "object": "video",
          "video_id": "123456789012345678",
          "video_location": "https://www.youtube.com/video/123456789012345678/",
          "video_description": "My note",
          "video_link": "https://www.youtube.com/r/video/123456789/987654321/123456789abcdef"
      }
    }
  }
}
	

User Contributed Notes