Загрузка файла в imgur.com с проблемой REST API

#python #python-3.x #imgur

#python #python-3.x #imgur

Вопрос:

Я пытаюсь загрузить изображение в imgur.com (apidocs.imgur.com ). Но по некоторым причинам запрос выполнен успешно и предоставляет мне ссылку на изображение, но изображение не отображается в imgur.com

 def upload_imgur(image_name):
    imgur_upload_url = "https://api.imgur.com/3/image"
    # payload = {'image': 'R0lGODlhAQABAIAAAAAAAP'}
    files = {}
    payload = {'image': open(image_name, 'rb')}
    headers = {
        'Authorization': 'Client-ID {} Bearer {}'.format(client_id, access_token)
    }
    response = requests.request('POST',imgur_upload_url, headers=headers, files=payload)
    logger.info(headers)
    try:
        link = response.json()
        logger.info('Data link {}'.format(link))
        return True
    except KeyError:
        link = "Failed"
        return False
  

Ответ:

 {'data': {'id': 'b1hOr9v', 'title': None, 'description': None, 'datetime': 1555000696, 'type': 'image/jpeg', 'animated': False, 'width': 225, 'height': 225, 'size': 2844, 'views': 0, 'bandwidth': 0, 'vote': None, 'favorite': False, 'nsfw': None, 'section': None, 'account_url': None, 'account_id': 0, 'is_ad': False, 'in_most_viral': False, 'has_sound': False, 'tags': [], 'ad_type': 0, 'ad_url': '', 'edited': '0', 'in_gallery': False, 'deletehash': 'ulCxGeNZk8r34s3', 'name': '', 'link': 'https://i.imgur.com/b1hOr9v.jpg'}, 'success': True, 'status': 200}
  

Но в моей учетной записи нет изображения. Пожалуйста, помогите!!

Комментарии:

1. Не уверен, что это единственная проблема, но ваш заголовок авторизации неверен. Это должно быть просто Bearer <access_token> , без Client-ID .

2. Кроме того, вы должны использовать with диспетчер контекста, чтобы правильно закрыть тот файл, который вы загружаете.