Python リクエスト モジュールと Imgur API を使用して画像を Imgur にアップロードできません。
私のコードは次のとおりです。
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'
}
)
通常、400 応答エラーが発生します。myu client_id が間違っているのか、リクエストが間違っているのか (URL リクエストの経験がほとんどない)、Imgur API を間違って使用しているのかどうかはわかりません。
これを送信したら、画像のURLも取得したいと思います。API にそのためのコマンドがあるかどうか、または python.requests モジュールに、投稿したばかりのデータ (POST) を取得できるトリックがあるかどうかはわかりません。
非常によく似た質問がここで回答され、コードは実際に機能しました!: Imgur にファイルを送信する際の問題
ただし、コードで使用されたアプリケーション ID の代わりに client_id を使用すると、400 エラーが返されました。
from: url = " http://api.imgur.com/2/upload.json " to: url = " http://api.imgur.com/3/upload.json "