subiendo un archivo a imgur via python

Tengo problemas para cargar una imagen en Imgur utilizando el módulo de solicitudes de python y la API de Imgur.

Mi código es el siguiente:

import base64 import json import requests from base64 import b64encode client_id = 'my-client-id' headers = {"Authorization": "Client-ID my-client-id"} api_key = 'my-api-key' url = "http://api.imgur.com/3/upload.json" j1 = requests.post( url, headers = headers, data = { 'key': api_key, 'image': b64encode(open('1.jpg', 'rb').read()), 'type': 'base64', 'name': '1.jpg', 'title': 'Picture no. 1' } ) 

Por lo general me sale un error de respuesta 400. No estoy seguro de si myu client_id es incorrecto, o si mi solicitud es incorrecta (tengo muy poca experiencia en la solicitud de URL), o si estoy usando la API Imgur incorrectamente.

También me gustaría obtener la url de la imagen una vez que haya enviado este. No estoy seguro de si la API tiene un comando para eso, o si el módulo python.requests tiene un truco que me permite OBTENER los datos que acabo de publicar (POST).

Aquí se respondió una pregunta muy similar, ¡y el código realmente funcionó !: Problemas al enviar un archivo a Imgur

Sin embargo, cuando utilicé mi ID de cliente, en lugar de la ID de la aplicación que se usó en el código, devolvió un error 400, así como cuando cambié

desde: url = ” http://api.imgur.com/2/upload.json ” hasta: url = ” http://api.imgur.com/3/upload.json ”

Esta es una solicitud v3, pero no estás usando SSL, lo cual es obligatorio. Intenta configurar

 url = "https://api.imgur.com/3/upload.json" # ^