Youtube上传api套接字超时



所以我有一个简单的测试脚本,我试图将一个6秒的mp4视频上传到我的频道。我已经在谷歌云中配置了所有内容,身份验证工作正常。当我运行脚本时,问题就出现了。在大约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)

最新更新