Ключ разработчика Python Youtube API

Я запускаю код, он становится пустым?

какой из них прав?

1 - DEVELOPER_KEY = "AIzaSyxxxxxxxxxxxxxxxxxx"

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) """

person jamyo    schedule 12.05.2019    source источник
comment
Я забыл добавить его в конец if name == main: main()   -  person jamyo    schedule 13.05.2019
comment
строка 54, в ‹module› main() . я получаю эту ошибку   -  person jamyo    schedule 13.05.2019


Ответы (1)


Ни один.

videos.insert Загружает видео на YouTube и при необходимости устанавливает метаданные видео. .

Этот метод загрузит видео в учетную запись пользователя, для чего вам нужен пользователь. Ключи API используются для доступа к общедоступным данным, а не к личным данным.

Вам нужно будет использовать Oauth2 для аутентификации пользователя, используя одну из следующих областей

введите здесь описание изображения

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))
person DaImTo    schedule 13.05.2019
comment
есть ли способы загрузить видео через ключ разработчика или ключ API? Так как загрузка видео с использованием OAuth действительно раздражает, так как вам нужно скопировать ссылку в терминале и вставить ее в браузер и выполнить множество шагов. - person Luk Aron; 03.07.2020
comment
НЕТ. Ключи API дадут вам доступ только к общедоступным данным, и вы не сможете загружать что-либо в чью-либо учетную запись без их разрешения. вам нужна авторизация для загрузки. Если вы сохраните токен обновления, вам нужно будет сделать это только один раз, а затем настроить свой код для использования токена обновления для запроса нового токена доступа по мере необходимости. - person DaImTo; 03.07.2020