无法在创建的相册中上传图片:Imgur python

时间:2016-03-19 06:07:55

标签: python python-3.x image-uploading python-3.5 imgur

我正在尝试创建相册并使用imgurpython将图像上传到其中。但是,我无法将图像附加到相册。它给了我以下错误:(403) The album you're requesting does not belong to your account。以下是我的代码:

client = ImgurClient(client_id, client_secret)
def CreateAlbumAndUploadImages(albumName,albumDescription,images):
    fields = {}
    fields['title'] = albumName
    fields['description'] = albumDescription
    fields['privacy'] = 'public'
    x = client.create_album(fields)
    print(x)
    y = client.album_add_images(x['id'],images)  #error here
    print(y)
    return x
def UploadPhoto(images):
    config = {
        'name':  'some image name here',
        'title': 'some title here',
        'description': 'some description here'}    
    image = client.upload_from_path(image_path, config=config, anon=False)
    print("Done")
    print(image)
    return image

def main():
    #x = CreateAlbum('Album 101','Album 101 desciption')
    id = []
    id.append( UploadPhoto(['image1.jpg'])['id'])
    id.append( UploadPhoto(['image2.jpg'])['id'])
    x = CreateAlbumAndUploadImages('albumNameHere','some description here',id)
    pass

if __name__ == '__main__':
    main()

注意:我正在尝试构建机器人,因此在网络上调用授权不是一个选项

1 个答案:

答案 0 :(得分:1)

我有一个类似的问题,并通过意识到我没有完全验证客户端来弄明白。为此,您必须这样做:

client = ImgurClient(client_id,client_secret, refresh_token)
client.set_user_auth(access_token, refresh_token)

然后它应该工作。如果您需要访问并刷新令牌,请执行以下操作:

client = ImgurClient(client_id, client_secret)
print client.get_auth_url('pin') #go to page and copy down pin
creds = client.authorize(raw_input('Pin: '), 'pin')
client.set_user_auth(creds['access_token'], creds['refresh_token'])
#You will only need to do this once per user, store tokens

之后,只需保存您的访问令牌并刷新令牌,并将其包含在第一个示例中。