Search code examples
pythongoogle-apiyoutube-apigoogle-api-python-client

Python Youtube Api Developer Key


I'm running the code is coming blank ?

which one is right ?

1 - DEVELOPER_KEY = "AIzaSyxxxxxxxxxxxxxxxxxxx"

2 - DEVELOPER_KEY = "779749880288-xxxxxxxxxxxxxxx.apps.googleusercontent.com"

"""

import os

import googleapiclient.discovery

from googleapiclient.http import MediaFileUpload


def main():

    os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"

    api_service_name = "youtube"
    api_version = "v3"
    DEVELOPER_KEY = "AIzaSyCtHy6xxxxxxxxxxxxxxxxxxxxx"

    youtube = googleapiclient.discovery.build(
        api_service_name, api_version, developerKey=DEVELOPER_KEY)

    request = youtube.videos().insert(
        part="snippet,status",
        body={
            "snippet": {
                "categoryId": "22",
                "description": "Description of uploaded video.",
                "title": "Test video upload."
            },
            "status": {
                "privacyStatus": "private"
            }
        },

        media_body=MediaFileUpload("/Users/mac/Desktop/Projelerim/dos/video.avi")
    )
    response = request.execute()

    print(response) """

Solution

  • Neither.

    videos.insert Uploads a video to YouTube and optionally sets the video's metadata.

    This method will upload a video to a users account for that you need a user. API keys are used for accessing public data not private data.

    You will need to use Oauth2 authncate a user using one of the following scopes

    enter image description here

    SCOPES = ['https://www.googleapis.com/auth/youtube.upload']
    DISCOVERY_URI = ('https://analyticsreporting.googleapis.com/$discovery/rest')
    CLIENT_SECRETS_PATH = 'client_secrets.json' # Path to client_secrets.json file.
    
    # Set up a Flow object to be used if we need to authenticate.
    flow = client.flow_from_clientsecrets(
      CLIENT_SECRETS_PATH, scope=SCOPES,
      message=tools.message_if_missing(CLIENT_SECRETS_PATH))