Quantcast
Channel: Active questions tagged youtube-api - Stack Overflow
Viewing all articles
Browse latest Browse all 3831

How to specify Youtube Channel Id to Upload Video from the same user?

$
0
0

I'm using this code to upload to my Youtube Channel that is working fine. Now I created another channel under my account and I want to upload a video to this new Chanel, how do I specify the channel Id in the code?

# Explicitly tell the underlying HTTP transport library not to retry, since# we are handling retry logic ourselves.httplib2.RETRIES = 1# Maximum number of times to retry before giving up.MAX_RETRIES = 10# Always retry when these exceptions are raised.RETRIABLE_EXCEPTIONS = (httplib2.HttpLib2Error, IOError)# Always retry when an apiclient.errors.HttpError with one of these status# codes is raised.RETRIABLE_STATUS_CODES = [500, 502, 503, 504]CLIENT_SECRETS_FILE = "youtube_client_secret.json"# This OAuth 2.0 access scope allows an application to upload files to the# authenticated user's YouTube channel, but doesn't allow other types of access.YOUTUBE_UPLOAD_SCOPE = "https://www.googleapis.com/auth/youtube.upload"YOUTUBE_API_SERVICE_NAME = "youtube"YOUTUBE_API_VERSION = "v3"# This variable defines a message to display if the CLIENT_SECRETS_FILE is# missing.MISSING_CLIENT_SECRETS_MESSAGE = """WARNING: Please configure OAuth 2.0To make this sample run you will need to populate the client_secrets.json filefound at:   %swith information from the API Consolehttps://console.developers.google.com/For more information about the client_secrets.json file format, please visit:https://developers.google.com/api-client-library/python/guide/aaa_client_secrets""" % os.path.abspath(os.path.join(os.path.dirname(__file__),                                   CLIENT_SECRETS_FILE))VALID_PRIVACY_STATUSES = ("public", "private", "unlisted")def get_authenticated_service(args):    flow = flow_from_clientsecrets(CLIENT_SECRETS_FILE,                                   scope=YOUTUBE_UPLOAD_SCOPE,                                   message=MISSING_CLIENT_SECRETS_MESSAGE)    storage = Storage("%s-oauth2.json" % sys.argv[0])    credentials = storage.get()    if credentials is None or credentials.invalid:        credentials = run_flow(flow, storage, args)    return build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,                 http=credentials.authorize(httplib2.Http()))def initialize_upload(youtube, options):    tags = None#   if options.keywords:#     tags = options.keywords.split(",")    body = dict(        snippet=dict(            title=options['title'],            description=options['description'],            tags=tags,            # categoryId=options['category']        ),        status=dict(            privacyStatus=options['privacyStatus']        )    )    # Call the API's videos.insert method to create and upload the video.    insert_request = youtube.videos().insert(        part=",".join(body.keys()),        body=body,        media_body=MediaFileUpload(            options['file'], chunksize=-1, resumable=True)    )    resumable_upload(insert_request)# This method implements an exponential backoff strategy to resume a# failed upload.def resumable_upload(insert_request):    response = None    error = None    retry = 0    while response is None:        try:            print("Uploading file...")            status, response = insert_request.next_chunk()            if response is not None:                if 'id' in response:                    print("Video id '%s' was successfully uploaded." %                          response['id'])                else:                    exit("The upload failed with an unexpected response: %s" % response)        except HttpError as e:            if e.resp.status in RETRIABLE_STATUS_CODES:                error = "A retriable HTTP error %d occurred:\n%s" % (e.resp.status,                                                                     e.content)            else:                raise        except RETRIABLE_EXCEPTIONS as e:            error = "A retriable error occurred: %s" % e        if error is not None:            print(error)            retry += 1            if retry > MAX_RETRIES:                exit("No longer attempting to retry.")            max_sleep = 2 ** retry            sleep_seconds = random.random() * max_sleep            print("Sleeping %f seconds and then retrying..." % sleep_seconds)            time.sleep(sleep_seconds)def upload_video(video_data):    args = argparser.parse_args()    if not os.path.exists(video_data['file']):        exit("Please specify a valid file using the --file= parameter.")    youtube = get_authenticated_service(args)    try:        initialize_upload(youtube, video_data)    except HttpError as e:        print("An HTTP error %d occurred:\n%s" % (e.resp.status, e.content)) 

Thanks!


Viewing all articles
Browse latest Browse all 3831

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>