Bartłomiej 'furas' Burek
furas.pl
# prywatne notatki - Python, Linux, Machine Learning, etc.

Requests: użycie Imgur API do załadowania zdjęcia

Najpierw trzeba założyć normalne konto na Imgur.

Po zalogowaniu na normalnym konice należy przejść do https://api.imgur.com/oauth2/addclient aby zarejestrować aplikację.

Wymagana jest nazwa i email. Typ autoryzacji zależy jak będzie wykorzystywana aplikacja.

python requests - imgur API - 1

Po rejestracji powinno podać klucze do API

python requests - imgur API - 2

Klucze API można wykorzystać do użycia API

Aby pobrać informacje:

import requests

headers = {
    'Authorization': 'Client-ID f1XXXXXXXXXXXXX',
}

#image: https://i.imgur.com/cvWgXFc.jpg
imageHash = 'cvWgXFc'

r = requests.get(f'https://api.imgur.com/3/image/{imageHash}', headers=headers)
print('status:', r.status_code)
data = r.json()

print(data)
print('size:', data['data']['size'])

Wynik:

status: 200

{'data': {'id': 'cvWgXFc', 'title': None, 'description': None, 'datetime': 1579572289, 'type': 'image/jpeg', 'animated': False, 'width': 506, 'height': 500, 'size': 89341, 'views': 8087, 'bandwidth': 722500667, 'vote': None, 'favorite': False, 'nsfw': False, 'section': None, 'account_url': None, 'account_id': None, 'is_ad': False, 'in_most_viral': False, 'has_sound': False, 'tags': [], 'ad_type': 0, 'ad_url': '', 'edited': '0', 'in_gallery': False, 'link': 'https://i.imgur.com/cvWgXFc.jpg', 'ad_config': {'safeFlags': ['onsfw_mod_safe', 'share', 'page_load'], 'highRiskFlags': [], 'unsafeFlags': ['not_in_gallery', 'sixth_mod_unsafe'], 'wallUnsafeFlags': [], 'showsAds': False}}, 'success': True, 'status': 200}

size: 89341

Aby wysłać zdjęcie na serwer:

import requests
import base64

headers = {
    'Authorization': 'Client-ID f1XXXXXXXXXXXXX',
}

params = {
  'image': base64.b64encode(open('images.png', 'rb').read())
}

r = requests.post(f'https://api.imgur.com/3/image', headers=headers, data=params)
print('status:', r.status_code)
data = r.json()
print(data)

BTW: Zarejestronwa aplikacje oraz wygenerować ponownie klucz API (jeśli się go zapomniało) można na https://imgur.com/account/settings/apps

python requests - imgur API - 3
Książki: python-dla-kazdego-podstawy-programowania python-wprowadzenie python-leksykon-kieszonkowy python-receptury python-programuj-szybko-i-wydajnie python-projekty-do-wykorzystania black-hat-python-jezyk-python-dla-hackerow-i-pentesterow efektywny-python-59-sposobow-na-lepszy-kod tdd-w-praktyce-niezawodny-kod-w-jezyku-python aplikacje-internetowe-z-django-najlepsze-receptury