Youtube 上传 api 套接字超时

Youtube upload api socket times out

所以我有一个简单的测试脚本,我试图将 6 秒的 mp4 视频上传到我的频道。我已经在 google 云中配置了所有内容并且身份验证工作正常。当我 运行 脚本时,问题就来了。大约 30 秒后,控制台中没有任何输出,然后出现此错误:

socket.timeout: The write operation timed out

这是我的代码:

import socket
import datetime
from Google import Create_Service
from googleapiclient.http import MediaFileUpload

CLIENT_SECRET_FILE = 'client_secret.json'
API_NAME = 'youtube'
API_VERSION = 'v3'
SCOPES = ['https://www.googleapis.com/auth/youtube.upload']

service = Create_Service(CLIENT_SECRET_FILE, API_NAME, API_VERSION, SCOPES)

upload_date_time = datetime.datetime(
    2021, 12, 25, 12, 30, 0).isoformat() + '.000Z'

request_body = {
    'snippet': {
        'categoryI': 19,
        'title': 'Upload Testing',
        'description': 'Hello World Description',
        'tags': ['Travel', 'video test', 'Travel Tips']
    },
    'status': {
        'privacyStatus': 'private',
        'publishAt': upload_date_time,
        'selfDeclaredMadeForKids': False,
    },
    'notifySubscribers': False
}
    
 mediaFile = MediaFileUpload('HelloWorld.MP4')

 response_upload = service.videos().insert(
     part='snippet,status',
     body=request_body,
     media_body=mediaFile
 ).execute()

请注意,身份验证令牌是在 Create_Service() 生成的。

所以我想稍微解决一下这个问题。我所做的只是增加套接字的默认超时时间,它起作用了!

import socket
socket.setdefaulttimeout(30000)