【发布时间】:2020-12-21 22:28:32
【问题描述】:
我之前问过几乎相同的问题,但由于在尝试解决该问题时出现了一个新错误,这使最初的错误黯然失色,因此未能得到解决方案。问题是,当我尝试使用下面的代码上传 youtube 视频时,标题中出现错误(下面的完整跟踪)并且无法这样做。我对导致错误的原因一无所知,希望能提供任何帮助。
def upload(beatName, mainArtist, keywords, oneLiner):
CLIENT_SECRET_FILE = 'client_secret.json'
API_NAME = 'youtube'
API_VERSION = 'v3'
SCOPES = ['https://www.googleapis.com/auth/youtube']
service = Create_Service(CLIENT_SECRET_FILE, API_NAME, API_VERSION, SCOPES)
upload_date_time = DT.datetime(2020, 9, 3, 12, 30, 0).isoformat() + '.000Z'
title = "OTOROSHI - "test"
description = 'Test'
request_body = {
'snippet': {
'categoryI': 10,
'title': title,
'description': description,
'tags': keywords
},
'status': {
'privacyStatus': 'private',
'publishAt': upload_date_time,
'selfDeclaredMadeForKids': False,
},
'notifySubscribers': True
}
mediaFile = MediaFileUpload('E:\Everything.mp4')
response_upload = service.videos().insert(
part = 'snippet,status',
body = request_body,
media_body = mediaFile
).execute()
client_secret.json-youtube-v3-(['https://www.googleapis.com/auth/youtube'],)
['https://www.googleapis.com/auth/youtube']
youtube service created successfully
[INFO ] [Base ] Leaving application in progress...
Traceback (most recent call last):
File "C:/Users/ricsi/Desktop/Automatic Uploader/main.py", line 34, in <module>
AutomaticUploader().run()
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\app.py", line 950, in run
runTouchApp()
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\base.py", line 573, in runTouchApp
EventLoop.mainloop()
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\base.py", line 347, in mainloop
self.idle()
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\base.py", line 391, in idle
self.dispatch_input()
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\base.py", line 342, in dispatch_input
post_dispatch_input(*pop(0))
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\base.py", line 248, in post_dispatch_input
listener.dispatch('on_motion', etype, me)
File "kivy\_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\core\window\__init__.py", line 1412, in on_motion
self.dispatch('on_touch_down', me)
File "kivy\_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\core\window\__init__.py", line 1428, in on_touch_down
if w.dispatch('on_touch_down', touch):
File "kivy\_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\uix\widget.py", line 545, in on_touch_down
if child.dispatch('on_touch_down', touch):
File "kivy\_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\uix\widget.py", line 545, in on_touch_down
if child.dispatch('on_touch_down', touch):
File "kivy\_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\uix\behaviors\button.py", line 151, in on_touch_down
self.dispatch('on_press')
File "kivy\_event.pyx", line 705, in kivy._event.EventDispatcher.dispatch
File "kivy\_event.pyx", line 1248, in kivy._event.EventObservers.dispatch
File "kivy\_event.pyx", line 1132, in kivy._event.EventObservers._dispatch
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\kivy\lang\builder.py", line 57, in custom_callback
exec(__kvlang__.co_value, idmap)
File "C:\Users\ricsi\Desktop\Automatic Uploader\automaticuploader.kv", line 53, in <module>
on_press: root.upload()
File "C:/Users/ricsi/Desktop/Automatic Uploader/main.py", line 27, in upload
upload(beatName, mainArtist, keywords, oneLiner)
File "C:\Users\ricsi\Desktop\Automatic Uploader\youtube.py", line 228, in upload
response_upload = service.videos().insert(
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\googleapiclient\_helpers.py", line 134, in positional_wrapper
return wrapped(*args, **kwargs)
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\googleapiclient\http.py", line 892, in execute
resp, content = _retry_request(
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\googleapiclient\http.py", line 204, in _retry_request
raise exception
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\googleapiclient\http.py", line 177, in _retry_request
resp, content = http.request(uri, method, *args, **kwargs)
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\google_auth_httplib2.py", line 200, in request
response, content = self.http.request(
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\httplib2\__init__.py", line 1985, in request
(response, content) = self._request(
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\httplib2\__init__.py", line 1650, in _request
(response, content) = self._conn_request(
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\site-packages\httplib2\__init__.py", line 1558, in _conn_request
conn.request(method, request_uri, body, headers)
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\http\client.py", line 1255, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\http\client.py", line 1301, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\http\client.py", line 1250, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\http\client.py", line 1049, in _send_output
self.send(chunk)
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\http\client.py", line 971, in send
self.sock.sendall(data)
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\ssl.py", line 1204, in sendall
v = self.send(byte_view[count:])
File "C:\Users\ricsi\Anaconda3\envs\Automatic Uploader\lib\ssl.py", line 1173, in send
return self._sslobj.write(data)
ssl.SSLWantWriteError: The operation did not complete (write) (_ssl.c:2472)
Process finished with exit code 1
【问题讨论】:
-
从您的计算机命令行针对标准 Python3 解释器运行您的脚本是否成功?
-
@stvar 不,同样的错误仍然存在..
-
但据我所知,它在几天前就起作用了,对吧?
-
没有。我只是设法通过了身份验证过程。自原始帖子以来,它自己的上传一直没有奏效。当我重新测试它并制定一个很好的答案时,我实际上并没有成功上传视频,因为我发布了最后一个问题。 @stvar
-
好的,再次感谢您抽出宝贵时间@stvar!我会尝试使用 oauth 操场并让您更新!
标签: python pycharm youtube-data-api