我正在尝试创建相册并使用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()
注意:我正在尝试构建机器人,因此在网络上调用授权不是一个选项
答案 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
之后,只需保存您的访问令牌并刷新令牌,并将其包含在第一个示例中。