Я уже некоторое время работаю над этой проблемой,
Я использую API YouTube для вывода списка всех элементов списка воспроизведения в канале, я прочитал это ниже: API данных Youtube - Как избегайте авторизации URL-адреса перенаправления Google OAuth
Но мне все равно нужно открывать браузер и выполнять проверку подлинности моей программы для доступа к моей собственной учетной записи YouTube при каждом запуске.
Согласно этой странице: https://developers.google.com/youtube/v3/getting-started
4. If your application will use any API methods that require user authorization,
read the authentication guide to learn how to implement OAuth 2.0 authorization.
Все, что мне нужно, это перечислить все доступные видео на канале.
Примеры кодов предоставлены Google:
import os
import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors
from google_auth_oauthlib.flow import Flow
scopes = ["https://www.googleapis.com/auth/youtube.readonly"]
def main():
os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"
api_service_name = "youtube"
api_version = "v3"
client_secrets_file = "CREDFILE.json"
# Get credentials and create an API client
flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(
client_secrets_file, scopes)
credentials = flow.run_console()
youtube = googleapiclient.discovery.build(
api_service_name, api_version, credentials=credentials)
request = youtube.playlistItems().list(
part="snippet",
maxResults=30,
playlistId="PLAYLISTID"
)
response = request.execute()
print(response)
if __name__ == "__main__":
main()
Я поставил свои учетные данные. json файлы в качестве указанного кода, но мне все еще нужно авторизоваться, а затем вставить код авторизации в командную строку. Я не совсем понимаю, как использовать учетные данные. json файлов здесь.
Кажется, что credentials = flow.run_console()
вызвало это, возможно ли использование другого метода для получения учетных данных?