我需要从AWS Lambda上传视频到YouTube。Lambda将使用Python3(.9)编写
我首先在本地尝试了upload_video.py
示例代码提供的here,我将其转换为Python3,我检索了OAUTH client_secrets.json
,如文档中所述,当我启动脚本时,它在控制台中打印了一个URL,我应该在浏览器中输入该URL以检索验证代码。
但由于我的代码将在lambda中无人值守地运行,因此没有人使用该URL。
是否可以使用API密钥将视频上传到YouTube?我似乎找不到应该如何修改示例以使用API密钥代替此交互式验证。
下面是当前处理身份验证的示例代码部分。
谢谢
from apiclient.discovery import build
from oauth2client.client import flow_from_clientsecrets
from oauth2client.file import Storage
from oauth2client.tools import run_flow
def get_authenticated_service(args):
flow = flow_from_clientsecrets(CLIENT_SECRETS_FILE,
scope=YOUTUBE_UPLOAD_SCOPE,
message=MISSING_CLIENT_SECRETS_MESSAGE)
storage = Storage("%s-oauth2.json" % sys.argv[0])
credentials = storage.get()
if credentials is None or credentials.invalid:
credentials = run_flow(flow, storage, args)
return build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
http=credentials.authorize(httplib2.Http()))
1条答案
按热度按时间czq61nw11#
我启动脚本,它在控制台中打印一个URL,我应该在浏览器中输入该URL以检索验证代码。
这应该只是提供应用程序访问YouTube帐户的一次性操作,因此如果您先在本地完成了此操作,则不必从Lambda执行此操作。