2013-01-16 17 views
0

我正尝试使用我与特定用户的凭据配对获得的开发人员密钥将视频上传到YouTube。在我看来,我的YoutubeService对象应该具有适当的开发人员凭据,但服务器会返回此操作所需的403:开发人员密钥。尝试通过Python API上传YouTube'此操作需要开发人员密钥'错误

import gdata 
import gdata.youtube 
import gdata.youtube.service 
client_id = 'dummy-client' 
developer_key = 'xxxxxxx......' 
youtube_user = '[email protected]' 
youtube_password = 'passwordgoeshere' 
yt_service = gdata.youtube.service.YouTubeService(client_id, developer_key) 
yt_service.ssl = True 
yt_service.developer_id = developer_key 
yt_service.client_id = client_id 
yt_service.email = youtube_user 
yt_service.password = youtube_password 
yt_service.source = client_id 
yt_service.ProgrammaticLogin() #Successfully login with the developer key and the user's credentials 

my_media_group = gdata.media.Group(
    title=gdata.media.Title(text='video.avi'), 
    description=gdata.media.Description(description_type='plain', text='My Video'), 
    keywords=gdata.media.Keywords(text=''), 
    category=[gdata.media.Category(
    text='Autos', 
    scheme='http://gdata.youtube.com/schemas/2007/categories.cat', label='Autos')], 
    player=None, 
    private=gdata.media.Private() 
) 
video_entry = gdata.youtube.YouTubeVideoEntry(media=my_media_group) 
video_file_location = '/path/to/video.avi' 

#Use the supposedly authenticated and developer_id associated YoutubeService object to upload the video 
new_entry = yt_service.InsertVideoEntry(video_entry, video_file_location) 

#Receive the following error: 
# 
#Traceback (most recent call last): 
# File "<stdin>", line 1, in <module> 
# File "/usr/lib/python2.7/dist-packages/gdata/youtube/service.py", line 661, in InsertVideoEntry 
# raise YouTubeError(e.args[0]) 
#gdata.youtube.service.YouTubeError: {'status': 403, 'body': 'Developer key required  for this operation', 'reason': 'Forbidden'} 

回答

0

您的开发人员ID和开发人员密钥是不同的东西。您需要将您的密钥(与您的帐户相关联,而不是特定的注册应用程序)关联到yt_service.developer_key

相关问题