我正在编写这个非常简单的示例,试图解密youtube API v3示例中的一个示例。对于我所读到的这里,videos.insert方法应该是可用的,以便上传给定的视频,但是python返回:
youtube.videos().insert
AttributeError: 'NoneType' object has no attribute 'videos'为了了解发生了什么,我重新安装了我的虚拟主机,并通过easyinstall -升级安装了google客户端库。它为我安装了以下库:
google-api-python-client==1.4.2
httplib2==0.9.2
oauth2client==1.5.2
pyasn1==0.1.9
pyasn1-modules==0.0.8
rsa==3.3
simplejson==3.8.1
six==1.10.0
uritemplate==0.6
wheel==0.26.0此方法不可用,但导入很好(在导入时没有错误)
伪码:
import httplib2
import os
from oauth2client import tools
from oauth2client.client import AccessTokenCredentials
from oauth2client.client import AccessTokenRefreshError
from googleapiclient.discovery import build
from googleapiclient.http import MediaFileUpload
import urllib
def authenticate():
#scope = "https://www.googleapis.com/auth/youtube.upload"
service = build('youtube', 'v3', http=http)
acc_token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
flow = AccessTokenCredentials(
acc_token, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36')
http = httplib2.Http()
http = flow.authorize(http)
def initialize_upload(youtube):
tags = None
youtube.videos().insert
media_body = MediaFileUpload('1977.mp4', mimetype='video/mp4',
chunksize=1024 * 1024, resumable=True)
def execute():
youtube = authenticate()
initialize_upload(youtube)
execute()发布于 2016-01-28 07:55:47
您的authenticate函数不包含return语句,因此其返回值为None。这显然是错误的结果。
你可能想要return service。虽然我相信您的代码包含其他错误,因为您试图将一个http参数传递给随后定义的build。
发布于 2019-11-22 15:52:05
这是链接,让我开始上传。我现在正在整理我的代金符。
https://stackoverflow.com/questions/35055682
复制相似问题