python-3.x 从AWS lambda上传视频到Youtube

busg9geu  于 2023-03-20  发布在  Python
关注(0)|答案(1)|浏览(159)

我需要从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()))
czq61nw1

czq61nw11#

我启动脚本,它在控制台中打印一个URL,我应该在浏览器中输入该URL以检索验证代码。
这应该只是提供应用程序访问YouTube帐户的一次性操作,因此如果您先在本地完成了此操作,则不必从Lambda执行此操作。

相关问题