2016-03-19 11 views
2

imgurpythonを使用してアルバムを作成し、画像をアップロードしようとしています。しかし、私はアルバムに画像を添付することができません。それは私に次のエラー:(403) The album you're requesting does not belong to your accountを与えています。作成したアルバムに画像をアップロードできません:Imgur python

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

ではないため、ボットを構築しようとしている私は、同様の問題を持っていたことを実現することにより、それを考え出しIクライアントを完全に認証していませんでした。これを行うには、これを行う必要があります:

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 

は、ちょうどトークンのアクセスを保存し、トークンリフレッシュし、ちょうど最初の例では、それが含まれます。

関連する問題